执行存储在字符串变量中的A#命令?

时间:2012-01-20 16:47:03

标签: c# .net sql-server

  

可能重复:
  C# eval equivalent?

是否可以执行存储在字符串变量

中的C#命令

像SqlServer中的动态查询

2 个答案:

答案 0 :(得分:1)

当前版本的.NET中没有任何内置允许这样做。但是Roslyn project旨在专门启用此类方案。他们有一个CTP out

一个简单的例子(来自Kirill Osenkov's blog)是:

[TestMethod]
public void SimpleEvaluationUsingScriptEngine()
{
    ScriptEngine engine = new ScriptEngine();
    int result = engine.Execute<int>("1 + 2");
    Assert.AreEqual(3, result);
}

答案 1 :(得分:0)

您可以使用CSharpCodeProvider从文件或从字符串编译源代码到可以加载的程序集。然后,您可以通过反射调用生成的类。