我想获得完全限定的方法名称。我可以看到如何通过以下方式获取方法名称:
System.Reflection.MethodBase.GetCurrentMethod().Name
但这只返回实际名称。我需要一切,比如:
My.Assembly.ClassName.MethodName
答案 0 :(得分:41)
尝试
var methodInfo = System.Reflection.MethodBase.GetCurrentMethod();
var fullName = methodInfo.DeclaringType.FullName + "." + methodInfo.Name;
答案 1 :(得分:14)
您可能需要GetCurrentMethod().DeclaringType,它返回一个Type对象,其中包含有关声明该方法的类的信息。然后,您可以使用FullName属性来获取命名空间。
var currentMethod = System.Reflection.MethodBase.GetCurrentMethod();
var fullMethodName = currentMethod.DeclaringType.FullName + "." + currentMethod.Name;