2014-04-07 100 views
0

我想用私有方法調用對象的私有方法。這個方法有三個參數。方法我試圖調用和代碼調用此方法的兩個簽名顯示如下私人對象「嘗試訪問缺少的成員」異常

簽名私有方法:

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 

例外:我使用的調用方法

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

代碼消息: 方法'Foo.SaveCallback' not found.

是否有問題的方式我調用私人方法或其他一些r設置是錯誤的?

謝謝

+0

你可以顯示異常被拋出? –

+0

@HamletHakobyan添加異常消息,我應該添加完整的異常詳細信息嗎? –

+0

爲什麼從Foo類中刪除方法名?如果Foo看起來像這樣,它就不會被編譯。 –

回答

0

嘗試用一個ParamArray而不是對象

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

不知道是否包含空值,擺脫他們,如果它不工作的數組調用它。