如何在委托方法中获取委托名称?
这是我的测试程序:
namespace Test
{
class Program
{
public Action action;
void real()
{
// I hoped it would output "action" here, but it was "real"
Console.WriteLine(MethodInfo.GetCurrentMethod().Name);
}
public Program()
{
action = real;
}
static void Main(string[] args)
{
Program pr = new Program();
pr.action();
}
}
}
那么我怎样才能获得委托action
的名称而不是方法read
?
我已经尝试了MethodInfo.GetCurrentMethod()
,但它没有用。
答案 0 :(得分:1)
考虑
static void Main(string[] args)
{
Program pr = new Program();
Action tempName1 = pr.action;
Action tempName2 = tempName1;
//pr.action();
tempName2();
}
您希望获得哪个名称? tempName1,tempName2,pr.action还是只是动作?
根据这些选择,您无法获得明确的变量名称。