8

C#でmethodinfoをトラバースする最も簡単な方法は何ですか?

メソッド本体をトラバースしてフィールド参照などを見つけ、型を取得したいと思います。

System.Reflectionには次のものがあります。

mi.GetMethodBody().GetILAsByteArray()

これはちょっと低レベルで、体を横断する前に「いくらかの」作業が必要になります。

Cecilが存在することは知っていますが、メモリ内のアセンブリをcecilでロードする際に問題があります。私が使用しているアセンブリは、常に「ディスク上」にあるとは限りません。たとえば、からコンパイルされたメモリ内アセンブリである可能性があります。ブー、そして私はアセンブリを一時的にディスクに書き込むことなしにクリーンな解決策を望んでいません。

これには他にどのような選択肢がありますか?

4

1 に答える 1

8

これは役立つはずです:リフレクションベースのCILリーダー。GetILAsByteArray()を呼び出して取得したバイト配列で動作します

于 2010-08-05T10:47:13.730 に答える