3

System.Reflection別のメソッドを呼び出しているメソッドの名前空間を取得するトリックはありますか? 私が現在持っているものは次のとおりです。

var stackTrace = new System.Diagnostics.StackTrace();
MethodBase method = stackTrace.GetFrame(1).GetMethod();
string namespace = method.DeclaringType.Namespace;
Assembly assembly = method.DeclaringType.Assembly;
4

1 に答える 1

0

いいえ、呼び出し元のメソッドがインライン化されている場合、つまり、コンパイラが次のメソッドにインライン化するほど小さい場合、トリックでさえ本番環境では機能しません。

この情報を取得する信頼できる方法はありません。

http://www.mehdi-khalili.com/that-tricky-stacktrace

于 2012-06-18T20:06:24.453 に答える