2

DynamicMethodで使用できるILオペコードを生成するためのC#ソースコードを解析する方法は?

不要なアセンブリを生成せずに動的にコードを実行したい。このようなもの:

var body = "return \"sample\";";
var dm = new DynamicMethod("method_" + Guid.NewGuid().ToString("N"), typeof(string), null);
var parser = new SomeKindOfCSharpParser();
parser.Emit(body, m.GetILGenerator());
4

2 に答える 2

1

Roslynはこれに近いものでなければなりません...

于 2012-06-04T12:36:01.770 に答える
1

それを実装する方法はありません。

それを実装する方法はいくつかあります。

  1. C#コンパイラを使用できますが、外部のcsファイルを別のアセンブリにコンパイルします。
  2. CodeDOMを使用して、コードツリーを構築およびコンパイルできます
  3. 式ツリーを作成してコンパイルできます
  4. 次々にIL命令のコードを生成できます
于 2012-06-04T12:33:05.960 に答える