是否可以传入包含方法定义的字符串并在C#中执行它?

时间:2013-02-11 21:37:48

标签: c# dynamic methods

我想弄清楚这样的事情是否可行:

string simpleMethod = "public void Hello() { Console.WriteLine(\"Hello\"); }"

ExecuteMethod(simpleMethod);

public void ExecuteMethod(string myMethod) 
{
  //???
}

预期产出:

Hello

我知道上面的例子可能是不好的做法,但我很想知道是否有可能以某种方式做。非常感谢任何帮助或见解,谢谢。

1 个答案:

答案 0 :(得分:0)

您可以使用Roslyn编译器服务。应该是VS2012(.Net 4.5)的一部分,但也许在VS2010中可用,因为CTP是为它发布的http://blogs.msdn.com/b/visualstudio/archive/2011/10/19/introducing-the-microsoft-roslyn-ctp.aspx