How can I get the name of the calling function in C#?
c#
Solution
upgrade to c# 5 and use `CallerMemberName`
public void Method([CallerMemberName] string caller="")
{
}
EDIT
Other nice things with c# 5
public void Method([CallerMemberName] string name="",
[CallerLineNumber] int line=-1,
[CallerFilePath] string path="")
{
}
Problem
I need to get the name of the calling function in C#. I read about stackframe method but everywhere its said its not reliable and hurts the performance. But I need it for production use. I am writing a custom tracer which will be logging the name of the method from which trace was called as well. Could someone please help with a efficient method to get the calling function name? I am using Visual Studio 2010.