2012-04-17 6 views
2

Есть ли способ программно получить имя того, какой метод или свойство выполняет текущий код?Получить имя текущей функции выполнения из функции в C#

void Test() { MessageBox.Show("This is a message from " + GetNameOfCurrentMethod); }

Я думал о бросали исключение, ловя и разбора трассировки стека, но должен быть лучший способ сделать это.

+0

http://stackoverflow.com/questions/44153/can-you-use-reflection-to-find-the-name-of-the-currently-executing-method – Rawling

+0

Дубликат http: // stackoverflow. ком/вопросы/44153/может, вы потребительный отражательные к-найти-имя-оф-настоящий-исполнитель-методы –

ответ

2
System.Reflection.MethodBase.GetCurrentMethod().Name; 
0

В настоящее время нет актуальных, но для будущих читателей. В .NET 4.5 представлен CallerMemberNameAttribute, который может быть применен к необязательным параметрам метода для получения информации о вызывающем абоненте (при условии, что он не будет удален из Бета-версии в RTM!). http://msdn.microsoft.com/en-us/library/hh534540(v=vs.110).aspx

Смежные вопросы