在IronPython中使用C#代码

时间:2011-02-03 18:54:16

标签: c# .net python ironpython

我即将开展.NET项目:我们需要创建一个利用现有C#代码的创建程序,我希望使用IronPython。 (我是一位经验丰富的Python程序员,但有点像.NET新手)。

我的问题是:IronPython是否适合使用大多数C#代码,或者使用C#会更好吗?如果IronPython很合适,是否有任何陷阱需要注意?

2 个答案:

答案 0 :(得分:5)

您需要将C#代码编译为可在IronPython中使用的程序集(DLL)。一旦你这样做,IronPython可以像任何其他.NET程序集一样使用它。

这是IronPython的常见用法场景。

答案 1 :(得分:1)

如果您在Windows环境中出于无法控制的原因,使用IronPython有很多优势。

  1. 就像Python一样,只有.NET。一旦你学会了如何引用程序集的异常元素,如何实例化对象,浏览对象等,这真的很不错。

  2. 您不需要Visual Studio进行开发。您只需要Notepad ++或任何体面的文本编辑器。如果你真的必须有一个IDE,你可以使用SharpDevelop。现在,如果你有VS2010,那么Ironpython的新插件很不错,未来版本应该会更好。

  3. 随着Ironpython 2.7和.NET 4.0的推出,以前版本的启动时间问题大多被否定了。

  4. 我发现WPF和XAML方法比创建GUI应用程序要容易得多。

  5. 可以将Ironpython脚本编译成exe文件以便于分发

  6. 那说,有缺点。

    1. 大多数软件包不直接安装到Ironpython中,强制您安装到CPython中,然后复制相关模块。

    2. 使用pyd共享库的Python扩展无法使用,除非您使用Ironclad,即使这样,您也会遇到问题。

    3. 你放弃跨平台,除非你的用户正在运行Mono,否则你会失去一些像WPF这样的酷炫功能。

    4. 你有点落后于发展曲线。 Ironpython目前处于2.7 Beta 1,并且自10月份以来一直是微软发布的代码。在此之前,MS之外没有人可以提交补丁。社区领导层有望在2月份发布2.7 RTM,然后开始3.x开发。

相关问题