0

2 つの .Net 型、型 A と型 B が与えられた場合、型 B から作成された型 A (型 A のサブクラスを含む) へのすべてのプロパティ呼び出しをどのように判断できますか?

4

4 に答える 4

5

生の IL を取得するには、すべての実行可能メンバー (メソッド、プロパティ、イベント、コンストラクター) を見つけて、MethodInfo.GetMethodBodyを呼び出す必要があります。次に、その IL を解析し、プロパティへのアクセスを探します。基本クラスでも宣言された仮想メソッドを取得することを忘れないでください。

頑張ってください - 6 か月後にお会いしましょう! 真剣に、これは簡単なことではなく、珍しい要件のように思えます。ここでの全体像は何ですか?

実行時にこれを行う必要はなく、依存関係を確認したいだけの場合は、NDependが役立つことがあります。(たぶん、NDepend は、実行時に使用できる API を公開している可能性があります。確認する価値があると思います。)

于 2009-02-07T08:27:21.237 に答える
1

Patrick Smacchia のブログのこのブログ エントリMono.Cecil vs. System.Reflectionによると、 NDepend はMono.Cecilを使用してアセンブリを分析します。

多分それは役に立つかもしれません。

于 2009-02-07T08:50:44.560 に答える
0

StackFrame および StackTrace クラスを使用してこれを行うことができますが、それは一般的に悪い習慣と見なされています。

于 2009-02-07T08:11:28.773 に答える