我有什么办法在.NET从字符串运行代码?
Console.WriteLine(Compile("1 + 2 * 3")); // results is 7.
我们还有什么别的选择吗?
- C# - 在运行时编译的代码?
- IronRuby的/ IronPython的?
- F#?
我有什么办法在.NET从字符串运行代码?
Console.WriteLine(Compile("1 + 2 * 3")); // results is 7.
我们还有什么别的选择吗?
因此,像IronRuby和IronPython的动态语言使它很容易做你想要什么。 创建一个脚本引擎并执行字符串。 易为。
C#,这是可能的,使用代码DOM ...但它每次编译的代码放到一个DLL。 这是一个昂贵的行为,并可能导致您的应用程序在内存大小随时间而增加,如果你不这样做与应用程序域一些棘手的东西。 这是可以做到的,但我真的很喜欢使用的IronRuby或IronPython的过这种方法。 这是更简单。
最后,在C#5.0中,我们期待看到编译器作为管理服务。 这意味着你将能够运行EVAL在未来(“// C#代码”)...但它尚未公布。
希望能帮助到你!
结帐NCalc。 这是一个DLL您可以在您的应用程序,它支持多种数学和逻辑运算。 http://ncalc.codeplex.com/