2009-02-18 35 views
5

Tôi là lập trình viên C# .NET và đang học Python. Tôi đã tải về IronPython, và biết rằng nó có thể gọi vào thư viện .NET.Nhập các hàm python vào một ngôn ngữ .NET?

Tôi tự hỏi liệu có một cách để làm ngược lại, đó là để gọi vào một số thư viện Python "cổ điển" hiện có trong mã C# của tôi, có thể sử dụng .NET Interop.

Tôi muốn có thể truy cập các chức năng trong thư viện như pygame.

Trả lời

5

Ironpython 2.0 tương thích với CPython 2.5, vì vậy Python thuần túy sử dụng < = 2.5 API sẽ hoạt động tốt dưới Ironpython. Tôi tin rằng mã Ironpython sau đó có thể được biên dịch thành một DLL.

Đối với các tiện ích mở rộng C như Pygame, bạn có thể muốn xem Ironclad. Đó là một dự án cho phép các phần mở rộng C được sử dụng trong Ironpython. Điều này cũng có thể cung cấp cho bạn cầu nối mã nguồn gốc mà bạn đang tìm kiếm.

3

Bạn có thể sử dụng Python for .Net, cho phép bạn 'sử dụng dịch vụ CLR và tiếp tục sử dụng mã Python hiện tại và tiện ích mở rộng dựa trên C trong khi duy trì tốc độ thực thi gốc cho mã Python'.

Hơn nữa, 'Mục tiêu chính cho dự án này là Python cho .NET nên "hoạt động theo cách bạn mong đợi trong Python", ngoại trừ trường hợp .NET cụ thể (trong trường hợp này là mục tiêu là để làm việc "theo cách bạn mong đợi trong C#"). Ngoài ra, với dự án IronPython có được lực kéo, đó là mục tiêu của tôi là mã được viết cho IronPython chạy mà không sửa đổi theo Python cho .NET. '

Hy vọng điều này sẽ giúp

Các vấn đề liên quan