3

デバッグの目的でプロセスをログに記録し、リフレクションを使用してログのメソッド名を取得します。現在、System.Reflection.MethodInfoのパラメーターを使用してloggingメソッドを呼び出し、loggingメソッド内でそのパラメーターを解析して、Method.DeclaringType.Nameを使用して、メソッドが存在するクラスの名前(およびMethod.Name)を取得します。 、現時点では問題ではありません)。これから取得するのは祖先の名前であり、子孫が必要です(使用されているメソッドはオーバーライドされず、祖先から直接実行されますが)。これは可能ですか?リフレクション情報を調べてみましたが、子孫の名前はどこにも見つかりませんでした。

Reflectionのパフォーマンスの問題については心配していません。必要な情報を取得するために、必要に応じてロガーメソッドにパラメーターを追加したいと思います。

ありがとう!

4

1 に答える 1

4

いいえ、から取得することはありませんMethodInfo。を渡す必要があります。thisその時点で、ロギングコードを呼び出して、オブジェクトの実際のタイプGetType()を見つけることができます。

于 2012-07-26T19:07:37.263 に答える