如何将动作委托作为参数提供给调用:
class C {
static void A {}
public static void F(Action action) { action(); }
}
现在我可以直接调用 F:
F(A);
但是我如何对调用做同样的事情。以下不编译:
MethodInfo methodInfo = typeof(C).GetMethod("F", BindingFlags.Static |
BindingFlags.NonPublic);
methodInfo.Invoke(null, new object[]{ A });
我尝试过的其他任何事情都没有:
methodInfo.Invoke(null, new object[]{ C.A });
methodInfo.Invoke(null, new object[]{ () => C.A() });
编译器说它不能将参数转换为“对象”。