IronPython是一个.NET平台上的Python实现包括了完整的编译器、执行引擎与运行时支持,能够与.NET已有的库无缝整合到一起
工欲善其事,必先利其器所以在开始IronPython的开发之前,我们先找到┅个方便的开发环境
下面一个截图显示了我们可以新建的项目模板:
首先我们看下如何在IronPython中使用C#的简单例子。
在.NET中有很多标准库,在IronPythonΦ就可以使用import来引入这些标准库来直接使用。看一个简单的例子我们使用.NET中的String和DateTime
在.NET开发中,会经常通过References来引用一些.NET库当然在IronPython项目中,也可以引用并使用.NET库
例如,现在我们有一个Calc的计算类型里面有一个Add和Sub方法。通过这个类型生成了一个引用:
在新建的项目中,VS会帮我们自动引用WPF相关的库同时会有一个.py和.xaml文件。
下面看一个简单的例子通过IrpnPython实现的一个简單计算器,界面的代码如下:
先看看我们需要使用的类型:
现在我们有一个简单的打印当前时间的IronPython脚本:
然后就可以使用下面的方式执行脚本:
在ScriptScope类型中有一个SetVariable方法,我们可以通过這个方法给脚本传递参数
这样,我们就可以把一个C#实例传递给IronPython然后脚本就可以使用C#实例的成员。看一个例子:
在这个例子中C#代码中創建了一个Student类型的实例,并把这个实例传递给了PrintStuInfo.py脚本
通过输出可以看到,IronPython脚本可以方便的访问C#实例的成员
本篇文章通过一些例子演示叻IronPython与C#的交互,感觉有几个例子还是很有意思的
有时候使用C#调用IronPython可以使程序变得更加灵活,通过一个C#类型提供一组封装好的操作每次构建类型实例然后传递给脚本;这样,用户就可以编写IronPython脚本然后使用C#类型中提供的操作方法,从而实现不同的自定义操作
版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。