0

我有一个带有这样签名的函数

private void FunkA(string eventName, Action action) {}
private void FunkB() {}

我通过反思得到的。操作的值也是通过反射获得的,因此在我的代码中,我最终不得不找到一种方法将“MethodInfo”作为参数传递给调用。

MethodInfo miForFunkA;
MethodInfo miForFunkB;

miForFunkA.Invoke(sourceOfFunkA, new [] {
    methodInfo.Name,
    Delegate.CreateDelegate(typeof(Action), miForFunkB)
});

问题是我无法创建具有字符串和委托类型的参数列表。这应该如何通过?

4

1 回答 1

0

您应该明确指定数组类型:

miForFunkA.Invoke(sourceOfFunkA, new object[] {
    methodInfo.Name,
    Delegate.CreateDelegate(typeof(Action), miForFunkB)
});

如果这不能解决您的问题,您应该编辑您的问题,以便更清楚地了解您要做什么、所涉及的所有变量的声明、您现在拥有的代码、它的作用以及与您的不同之处想要做。

于 2014-11-15T00:07:13.440 回答