我有一个测试方法,我调用一个将一种转换为另一种的私有函数。
此静态函数具有以下签名:
private static Destiny[] Array2Array<Origin,Destiny> (Origin[] OriginVector)
由于它是一个私有函数,测试人员会给出一个错误,说它无法访问它。所以我到了这一点:
Origin[] OriginVector = null; // TODO: Initialize to an appropriate value
Destiny[] expected = null; // TODO: Initialize to an appropriate value
Destiny[] actual;
var dummy = new ConversionClass();
var po = new PrivateObject( dummy, new PrivateType(typeof(ConversionClass)));
var acessor = new ConversionClassAcessor(po);
actual = po.Invoke("Array2Array",
new [] { typeof(Origin[]), typeof(Destiny[]) },
new object[] { OriginVector } );
编辑:最后一行会引发编译器错误,并显示消息“无法将类型对象转换为 Destiny []”。我做错了什么?