首页 > 代码库 > IronPython初体验和实战集合等类型转换和类型匹配

IronPython初体验和实战集合等类型转换和类型匹配

人老了,做什么都累~学到了这么多技术,从最早C到C++再到JAVA再到C#,最终都是为了改善产品,改善系统的可维护性。众所周知C#,C++,C都是强类型语言,什么情况都得定义一些实体类来改变业务模型,虽然C#4.0增加了很多runtime功能,但是要和脚本(比如PHP)比起来,真的还不够完美。就比如我想根据业务逻辑生成一段CS代码。。。肿么办?难道还的打包成程序集然后在程序里加载跑起来,这显然很不现实。如果遇到一些BT的业务逻辑经常修改和调整,那就彻底崩溃了,为了解决项目中遇到的这些问题(在不编译的情况下随意改变业务逻辑,或者动态解析窗体控件,动态生成SQL)。找了很多资料,最早是CODEDOM,到现在DLR!

基于DLR的运行时脚本有RUBY,python,js。不过通过资料收集发现JS还不够完美,虽然我很想用JS,哎~无奈的学习python

说了这么多开始把 关键词 IronPyth

IronPyth干什么的我这里就不多说了

1:环境

xp

vs2010

Ironpython 2.7.3

 

首先安装Python Tools for Visual Studio。我用VS2010  选择2010版本

下载地址:http://pytools.codeplex.com/releases/view/103102

然后安装python解释器  我这里用的NET实现的Python,因为要和C#交互~图个稳当

CPython
这是原生Python解释器.    我们推荐 32-bit 3.3 or 2.7 版本 为了更好的兼容性. 
All versions: http://python.org/download/ 
IronPython
.NET实现的Python. 最好的与CSharp互动,我们推荐 2.7.3 版本 
IronPython 2.7.3 32- and 64-bit Windows Installe

2:实战

python代码 保存为test.py

 

def test():    return "test"

 

C# 代码

ScriptRuntime rtmPy = Python.CreateRuntime();dynamic obj = rtmPy.UseFile("test.py");MessageBox.Show(obj.test());

 

今天就写到这里吧,还有很多细节~下次补上

 

IronPython初体验和实战集合等类型转换和类型匹配