我在.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/

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top