Отвечая «Какой метод позвонил мне?» во время выполнения в .net?Или данные CallStack читаются кодом?
-
18-09-2019 - |
Вопрос
Предположим, что существуют метод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.
Не связан с StackOverflow