Как я могу получить имя метода с пространством имен и именем класса? - PullRequest
27 голосов
/ 09 ноября 2010

Я хотел бы получить полное имя метода.Я могу видеть, как получить имя метода самостоятельно со следующим:

System.Reflection.MethodBase.GetCurrentMethod().Name

, но это только возвращает фактическое имя.Мне нужно все, как:

My.Assembly.ClassName.MethodName

Ответы [ 2 ]

42 голосов
/ 09 ноября 2010

Попробуйте

var methodInfo = System.Reflection.MethodBase.GetCurrentMethod();
var fullName = methodInfo.DeclaringType.FullName + "." + methodInfo.Name;
14 голосов
/ 09 ноября 2010

Возможно, вам нужен GetCurrentMethod (). DeclaringType , который возвращает объект Type , который содержит информацию о классе, который объявляет метод.Затем вы можете использовать свойство FullName для получения пространства имен.

var currentMethod = System.Reflection.MethodBase.GetCurrentMethod();
var fullMethodName = currentMethod.DeclaringType.FullName + "." + currentMethod.Name;
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...