我试图对此进行了大量搜索,但没有找到任何有用的信息。我陷入了困境并寻求帮助。
以下是我要测试的方法:
public void MethodToTest()
{
this._app = this.GetApp(out this._pId);
}
//here beelow method which is from the same class and private
private Microsoft.Office.Interop.Word.Application GetApp(out int processId)
{
//some code which returns Application
}
现在我不想执行此方法,而是想要使用这种方法 使用
ShimMyclassName.Allinstances.set_GetAppInt32Out = () => my expected output
但编译器抛出错误:
cannot assign to set_GetAppInt32Out because it's a method group.
所以我试着把它改成:
ShimMyclassName.Allinstances.set_GetAppInt32Out( here it is expecting some out delegate like (OutFunc<WordApplication, int, Microsoft.office.Interop.Word.Application> Value)
在下面的ShimMyClass中是签名: public void set_GetAppInt32Out(object value);
所以我被困在这里。我如何传递值以及如何断开私有方法调用并期望它返回我的预期输出而不是执行原始私有方法?