If you’ve passed a method into another one as a Func
[csharp] public static string GetMethodSignature<TObject>(this Func<TObject> method)
{
var signature = string.Empty;
var info = method.GetMethodInfo();
var sb = new StringBuilder();
sb.AppendFormat("{0} {1}", info.ReturnType.Name, info.Name);
if (info.IsGenericMethod)
{
sb.AppendFormat("<{0}>", string.Join(", ", info.GetGenericArguments().Select(x => x.Name)));
}
sb.AppendFormat(
"({0})",
string.Join(
", ",
info.GetParameters().Select(x => string.Format("{0} {1}", x.ParameterType.Name, x.Name))));
return signature;
}[/csharp]