私有对象“尝试访问缺少的成员”异常

时间:2014-04-07 20:50:29

标签: c# .net private-members privateobject.invoke

我正在尝试使用私有方法调用对象的私有方法。此方法有三个参数。我试图调用的方法的签名和调用此方法的代码如下所示

私人方式签名:

Public Class Foo
{
  private void SaveCallback(SaveAggregationViewResponse response,
                                         Action rollbackActionIfSaveFails,
                                         Action postSaveActionOnSuccess)
  {}
}

我用来调用方法的代码:

var foo=new Foo()
Private pFoo=new PrivateObject(foo);
var response=new SaveAggregationViewResponse();
pFoo.Invoke("SaveCallback",new object[]{response,(Action)null,(Action)null}); //this line throws exception

异常消息: 方法'Foo.SaveCallback' not found.

我调用私有方法或其他一些设置错误的方式有什么问题吗?

谢谢

1 个答案:

答案 0 :(得分:0)

尝试使用ParamArray而不是对象数组来调用它

pFoo.Invoke("SaveCallback",response,null,null);

不确定是否包含空值,如果它不起作用则除去它们。