Using MethodInfo.GetCurrentMethod() in anonymous methods
public static void Main(string[] args) { Action a = () => Console.WriteLine(MethodInfo.GetCurrentMethod().Name); a(); } This code will return an obscure string like so: <Main>b__0 . Is there a way of ignoring the anonymous methods and get a more readable method name? You could capture it outside: var name = MethodInfo.GetCurrentMethod().Name + ":subname"; Action a = () => Console.WriteLine(name); Other than that; no. No, there isn't. That's why it is an anonymous method. The name is automatically generated by the compiler and guaranteed to be unique. If you want to get the calling method name