Using nameof to get name of current method

Building on user3185569's great answer:

public static string GetMethodName(this object type, [CallerMemberName] string caller = null)
{
    return type.GetType().FullName + "." + caller;
}

Results in you being able to call this.GetMethodName() anywhere to return the fully qualified method name.


You can't use nameof to achieve that, but how about this workaround:

The below uses no direct reflection (just like nameof) and no explicit method name.

Results.Add(GetCaller(), result);

public static string GetCaller([CallerMemberName] string caller = null)
{
    return caller;
}

GetCaller returns the name of any method that calls it.