首页 > 代码库 > 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初体验和实战集合等类型转换和类型匹配