问题
这可能是一个非常简单的问题,但它让我困扰了一段时间:InvokeMember 可以接受一个 object[] 表示传递给方法所需的参数。我有两个对象(obj 列表,字符串 foo)。我可以成功地将任一变量传递给该方法,但是当我尝试同时传递这两个变量时,我得到一个 Method 'x' NotFound 异常。
细节
调用方法:
classtype.InvokeMember(someMethodName,
BindingFlags.Public | BindingFlags.InvokeMethod|BindingFlags.Static,
null,
null,
new object[]{ someListOfObjects, stringValue});
领取方式:
public static string TestMethod(object foo)
{
return "foo";
}
注意:当通过new object[]{someListOfObjects}
或new object[]{stringValue}
我按预期到达目标方法时,但是当我尝试并通过两者时,它无法找到该方法。我在 TestMethod 上的传入参数是否正确?
当我更改 TestMethod 以接受对象 [] 时,永远找不到该方法。