public static string GetFuncName<T1, T2>(Func<T1, T2> func){
return func.Method.Name;
}
我使用此代码可以得到&#34; string function(string)
&#34;结构方法名称。
但我无法获得&#34; void function()
&#34;结构方法名称。
&#34; GetFuncName(XXX)&#34;抛出伏特错误。
我需要得到&#34; void function()
&#34;最后说出来。
答案 0 :(得分:1)
对于void,您需要Action<>
类型的委托,而不是Func委托。
所以你需要另一种方法
public static string GetActionName<T1>(Action<T1> action){
return action.Method.Name;
}
答案 1 :(得分:0)
您始终可以通过Delegate.Method.Name
获取方法名称。 IMO你的方法不一定是通用的。
public static string GetDelegateName(Delegate instance)
{
return instance.Method.Name;
}