2

タイプ情報をロードせずに、AssemblyオブジェクトからMSILを便利に抽出することは可能ですか?

CodeCompileUnit文字列を受け取り、非常に高速な計算を行うためのメソッドを動的に作成しようとする単純なアプリケーションがありますが、を使用してC#コード文字列をコンパイルし、コンパイルされたアセンブリからMSILを抽出することで、アセンブリ/型情報の読み込みを避けたいです。 MSILをDynamicMethodに出力します。これが可能であれば。

4

3 に答える 3

2

アセンブリをロードせずに読み取り/変更/作成するのに役立つMono.Cecilをご覧ください。

于 2011-01-27T12:02:45.397 に答える
1

MSILを取得する唯一の方法は、MethodBase.GetMethodBodyメソッドを呼び出すことです。ただし、最初にタイプをロードする必要があります。

于 2011-01-27T12:03:11.197 に答える
1

System.Reflection.Emitを直接使用します。動的メソッドの場合、型さえ必要ありません。

于 2011-01-27T12:04:40.840 に答える