题
我在.net中有什么方法可以从字符串运行代码?
Console.WriteLine(Compile("1 + 2 * 3")); // results is 7.
我们还有哪些其他选择?
- C# - 在运行时编译代码?
- 铁瑞 /铁皮?
- F#?
解决方案
因此,像Ironruby和Ironpython这样的动态语言使您可以轻松地做您想做的事。创建脚本引擎并执行字符串。那样容易。
c#,可能会使用代码dom ...但是它每次将代码编译到DLL中。这是一种昂贵的行为,如果您不使用应用程序域进行一些棘手的事情,则可能会导致您的应用程序随着时间的流逝而增长。可以做到这一点,但我真的更喜欢在这种方法上使用Ironruby或Ironpython。它更简单。
最后,在C#5.0中,我们希望将编译器视为托管服务。这意味着您将来可以运行评估(“ // C#代码”)...但是尚不可用。
希望能帮助到你!
其他提示
结帐NCALC。您可以在应用程序中包含一个DLL,并且支持多个数学和逻辑操作。 http://ncalc.codeplex.com/
不隶属于 StackOverflow