C#中不能对字符串表达式进行编译执行,我想到一种解决办法是,添加对Ironpython(python与.net平台交互的版本)的引用,从而利用python来执行。
首先,去http://ironpython.codeplex.com/releases/view/54498下载ironpython,安装。
我用的是ironpython2.0(之前尝试过用Ironpython2.7,但发现在vs2008中不能添加对Ironpython的引用,所以如果发现使用不了,就换个版本试试)
下载安装好之后,接着就是在vs工程中添加ironpython的引用,如图添加IronPtyhon.dll和Microsoft.Scripting.dll
接着可以写几句代码测试一下Ironpython可用
ScriptEngine engine = Python.CreateEngine();
String expr = "16132 if 36>12 else 16131";
String result = engine.Execute(expr).ToString();
Console.writeLine(result);
本人觉得这个还是很有用处的。
比如 在配置文件中我们可以定义表达式,在程序中读取配置表达式之后,交给ironpython执行,从而得到动态结果。
可能作用远不至此,还在学习Python中,继续发掘中。
?