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

是否可以传入包含方法定义的字符串并在C#中执行它?,c#,dynamic,methods,C#,Dynamic,Methods,我想知道这样的事情是否可行: string simpleMethod = "public void Hello() { Console.WriteLine(\"Hello\"); }" ExecuteMethod(simpleMethod); public void ExecuteMethod(string myMethod) { //??? } 预期产出: Hello 我知道上面的例子可能是不好的做法,但我很想知道是否有可能做到这一点。如果您有任何帮助或见解,我们将不胜感激,谢谢

我想知道这样的事情是否可行:

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

ExecuteMethod(simpleMethod);

public void ExecuteMethod(string myMethod) 
{
  //???
}
预期产出:

Hello

我知道上面的例子可能是不好的做法,但我很想知道是否有可能做到这一点。如果您有任何帮助或见解,我们将不胜感激,谢谢。

您可以使用Roslyn编译器服务。应该是VS2012(.Net 4.5)的一部分,但也可能在VS2010中提供,因为CTP是为其发布的

我相信您尝试的操作可以通过反射完成。