Получить имя исполняемого метода в C#
В этом примере показано, как вы можете получить имя метода для текущего исполняемого метода. Обычно вам не нужно получать это имя (вы можете просто посмотреть на код, который вы печатаете), но иногда это полезно для стандартных трассировок и обработки ошибок. Например, вы можете создать метод LogState, который записывает состояние программы в файл журнала. Этот метод может автоматически найти имя исполняемого метода в файле.
Класс System.Diagnostics.StackTrace может предоставить вам информацию о текущем состоянии выполнения программы. В этом примере используется следующий метод GetMethodName, чтобы вернуть имя метода, называемого GetMethodName.
// Возвращает имя метода, который вызвал это. private string GetMethodName() { return new StackTrace(1).GetFrame(0).GetMethod().Name; }
Этот код создает новый объект StackTrace. Параметр 1, переданный в конструктор, означает, что трассировка должна начинаться на один уровень выше текущего исполняемого кода. Другими словами, он должен начинаться с метода, который называется методом GetMethodName.
Затем код вызывает метод StackFrame объекта GetFrame для получения первого кадра в стеке вызовов. Это тот, который представляет метод, которым мы пользуемся. Он использует процедуру GetMethod фрейма, чтобы получить информацию об этом методе, а затем возвращает имя метода.
Программа вызывает GetMethodName, как в следующем коде.
private void DoSomething() { MessageBox.Show("In: " + GetMethodName()); }