3
我试图让传入动作委托的方法名。这是我有:从动作委托获取方法名
private static void DoAction(params Action<Group>[] actions)
{
foreach (Action<Group> action in actions)
{
Console.WriteLine(action.Method.Name);
}
}
而且在主要的,这是它如何被称为:
DoAction()执行后的方法,我希望能看到“DoFoo”和“DoBar “在屏幕上,但它反而我看到< Main>b__0
和<Main>b__1
。我只是想知道是否有办法从动作委托中获取目标方法的实际名称?任何帮助表示赞赏。
如何我现在可以调用该方法? action()不起作用。 Expression.Invoke()还需要该方法的参数。假设Foo()和Bar()方法都带参数,那么如何在main中指定参数并在DoAction()中调用它? – PoweredByOrange 2013-04-05 21:03:15
@ programmer93使用'Expression.Compile()'将其转换为'Action'。看到我更新的答案。 – 2013-04-05 21:11:16