Отвечая «Какой метод позвонил мне?» во время выполнения в .net?Или данные CallStack читаются кодом?

StackOverflow https://stackoverflow.com/questions/1873998

Вопрос

Предположим, что существуют методA(), методB() и методC().

И методC() вызывается во время выполнения.

Можно ли узнать, из какого метода вызывается метод C()?

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

Есть идеи?

Спасибо!

Это было полезно?

Решение

Используйте классы StackTrace и StackFrame.Например:

  StackTrace stackTrace = new StackTrace();          
  StackFrame[] stackFrames = stackTrace.GetFrames();

  foreach (StackFrame stackFrame in stackFrames)
  {
    string method = stackFrame.GetMethod().Name;
    // do some stuff with method
  }

Другие советы

Да, стек вызовов можно прочитать во время выполнения, используя StackTrace.GetFrames.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top