Возможный дубликат:
Как найти метод, который вызвал текущий метод?
У меня есть метод в объекте, который вызывается из нескольких мест внутри объекта. Есть быстрый и простой способ получить имя метода, называемого этим популярным методом.
Псевдокод ПРИМЕР:
public Main()
{
PopularMethod();
}
public ButtonClick(object sender, EventArgs e)
{
PopularMethod();
}
public Button2Click(object sender, EventArgs e)
{
PopularMethod();
}
public void PopularMethod()
{
//Get calling method name
}
Внутри PopularMethod()
я хотел бы увидеть значение Main
, если он был вызван из Main
... Я хотел бы видеть "ButtonClick
", если PopularMethod()
был вызван из ButtonClick
Я смотрел на System.Reflection.MethodBase.GetCurrentMethod()
, но это не вызовет меня вызывающий метод. Я посмотрел класс StackTrace
, но я действительно не любил запускать всю трассировку стека каждый раз, когда вызывается этот метод.