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.