.Net の 2 つのクラス間のプロパティ呼び出しを決定する
-
22-08-2019 - |
質問
タイプ A とタイプ B という 2 つの .Net タイプがある場合、タイプ B から行われたタイプ A (タイプ A のサブクラスを含む) へのすべてのプロパティ呼び出しをどのように判断できるでしょうか?
解決
あなたは<のhref = "http://msdn.microsoft.com/en-us/library/system.reflection.methodbaseをすべての実行可能メンバー(メソッド、プロパティ、イベント、コンストラクタ)を見つける必要があると呼びたいです.getmethodbody.aspx」のrel = "nofollowをnoreferrer"> MethodInfo.GetMethodBody には、生のILを取得します。そして、そのILを解析して、プロパティへのアクセスを探します。同様に、基本クラスで宣言された仮想メソッドを取得することを忘れないでください。
幸運 - 6ヶ月であなたを参照してください!まじめな話、これは簡単になるだろう、と異例の要件のように聞こえるされていません。ここで大きな画像は何でしょうか。
あなたは、実行時にこれを実行する必要がありますが、ただの依存関係を表示したくない場合は、あなたがその NDependのにはあなたを助けるでしょう。 (ヘック、多分NDependのは、あなたが実行時にそれを行うために使用できるAPIを公開 - チェックする価値、私は考えます。)
他のヒント
このブログのエントリによると<のhref = "http://codebetter.com/blogs/patricksmacchia/archive/2008/03/18/mono-cecil-vs-system-reflection.aspx" のrel = "nofollowをnoreferrer 「> Mono.CecilパトリックSmacchiaのブログNDependのからするSystem.Reflection の対 Mono.Cecil <を使用しています/>アセンブリを分析します。
多分それが有用である可能性があります。
あなたがたStackFrameとのStackTraceクラスを使用して、それは一般的に悪い習慣であると考えられていることを行うことができます。