System.Reflection
中是否有技巧来获取调用另一个方法的方法的命名空间?我目前拥有的是:
var stackTrace = new System.Diagnostics.StackTrace();
MethodBase method = stackTrace.GetFrame(1).GetMethod();
string namespace = method.DeclaringType.Namespace;
Assembly assembly = method.DeclaringType.Assembly;
最佳答案
不,如果调用方法是内联的,即使你的技巧在生产中也不会起作用 - 即太小以至于编译器使其与下一个方法保持一致。
没有可靠的方法来获取此信息。
关于c# - 获取调用方法的命名空间和程序集,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11090216/