2009-06-25 8 views
5

メソッドの文字列表現を取得する方法は.NET 3.0(またはそれ以前)にありますか?私はMethodBodyオブジェクトからILバイト配列を得ることができることを知っていますが、私はVSで私の目に見えるように本質的にメソッド本体を表す文字列を取得することに興味があります。C#メソッドの文字列表現

実行時にメソッドをCodeMemberMethodsに変換する方法があるかどうかを確認するために、CodeDom名前空間を覗いてみましたが、今までは乾いています。

どのような考えですか?

答えて

12

これは非常に複雑な作業です。基本的には、あなたのコードにreflectorを書き直すことを考えているでしょう...そして、すべてのILが逆転できるわけではないことを忘れないでください。

短い答えは「いいえ、何も組み込まれていません」です。

偶数式ツリー(lambdaから)は、完全にに戻すことはできません。

2

リフレクターAPIを使って突き抜けてみてください(Red Gateがそれを引き継いだ後でも利用可能かどうか確認してください)。

まだ成功したとしても、ローカル変数名、コメント、または一部の書式などの元の情報の一部が失われます。

基本的には、編集中に破棄されたものはすべて失われます。