タイプ情報をロードせずに、AssemblyオブジェクトからMSILを便利に抽出することは可能ですか?
CodeCompileUnit
文字列を受け取り、非常に高速な計算を行うためのメソッドを動的に作成しようとする単純なアプリケーションがありますが、を使用してC#コード文字列をコンパイルし、コンパイルされたアセンブリからMSILを抽出することで、アセンブリ/型情報の読み込みを避けたいです。 MSILをDynamicMethodに出力します。これが可能であれば。
タイプ情報をロードせずに、AssemblyオブジェクトからMSILを便利に抽出することは可能ですか?
CodeCompileUnit
文字列を受け取り、非常に高速な計算を行うためのメソッドを動的に作成しようとする単純なアプリケーションがありますが、を使用してC#コード文字列をコンパイルし、コンパイルされたアセンブリからMSILを抽出することで、アセンブリ/型情報の読み込みを避けたいです。 MSILをDynamicMethodに出力します。これが可能であれば。
アセンブリをロードせずに読み取り/変更/作成するのに役立つMono.Cecilをご覧ください。
MSILを取得する唯一の方法は、MethodBase.GetMethodBodyメソッドを呼び出すことです。ただし、最初にタイプをロードする必要があります。
System.Reflection.Emitを直接使用します。動的メソッドの場合、型さえ必要ありません。