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 回答