C# doesn't have macros. But you still can get the info you are looking for
via standard API:
// __FUNCTION__
System.Diagnostics.StackFrame f = new System.Diagnostics.StackFrame (true);
MessageBox.Show (f.GetMethod().Name);
// __LINE__
System.Diagnostics.StackFrame f = new System.Diagnostics.StackFrame (true);
MessageBox.Show (f.GetFileLineNumber().ToString());
// __FILE__
System.Diagnostics.StackFrame f = new System.Diagnostics.StackFrame (true);
MessageBox.Show (f.GetFileName());
C++ has some nice macros for obtaining the current function name, current
source file, and current line number (__FUNCTION__, __FILE__, __LINE__).
Does C# have any comparable MACROS?