假设有methodA(),methodB()和methodC()。

并且在运行时调用methodC()。

是否有可能知道methodC()是从什么方法调用的?

我在想是否可以在运行时读取CallStack进行某些检查?如果是,我认为应该没什么大不了的。

有任何想法吗?

谢谢!

最佳答案

使用StackTraceStackFrame类。例如:

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

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

10-06 12:04