Search code examples
c#language-featurescallstack

How do you find the caller function?


Closed as exact duplicate of "How can I find the method that called the current method?"

Is this possible with c#?

void main()
{
   Hello();
}

void Hello()
{
  // how do you find out the caller is function 'main'?
}

Solution

  • Console.WriteLine(new StackFrame(1).GetMethod().Name);
    

    However, this is not robust, especially as optimisations (such as JIT inlining) can monkey with the perceived stack frames.