private static string GetCallerName()
{
System.Diagnostics.StackTrace st = new System.Diagnostics.StackTrace(true); // true means get line numbers.
System.Diagnostics.StackFrame[] frames = st.GetFrames();
// [2] == <Caller>
// [1] == TraceEnter()/TraceExit(),
// [0] == GetCallerName(),
System.Diagnostics.StackFrame f = frames[2];
return f.GetMethod().DeclaringType.Name + "." + f.GetMethod().Name;
}