2010-11-09 108 views
22

我想获得完全限定的方法名称。我可以看到如何使用以下方法自行获取方法名称:如何获得名称空间和类名的方法名?

System.Reflection.MethodBase.GetCurrentMethod().Name 

但这只返回实际名称。我需要的一切,如:

My.Assembly.ClassName.MethodName 

回答

35

尝试

var methodInfo = System.Reflection.MethodBase.GetCurrentMethod(); 
var fullName = methodInfo.DeclaringType.FullName + "." + methodInfo.Name; 
10

你可能想的GetCurrentMethod().DeclaringType,它返回一个Type对象,它包含有关该声明方法的类信息。然后您可以使用FullName属性来获取名称空间。

var currentMethod = System.Reflection.MethodBase.GetCurrentMethod(); 
var fullMethodName = currentMethod.DeclaringType.FullName + "." + currentMethod.Name; 
相关问题