如何使用命名空间&获取方法名称?班级名称?

时间:2010-11-09 10:47:38

标签: c# reflection

我想获得完全限定的方法名称。我可以看到如何通过以下方式获取方法名称:

System.Reflection.MethodBase.GetCurrentMethod().Name

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

My.Assembly.ClassName.MethodName

2 个答案:

答案 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;