表达式树可能不包含使用 可选参数
return this.RedirectToAction<MerchantController>(x => x.Edit(merchantId));
其中edit有第二个可空参数。
为什么会这样?
表达式树可能不包含使用 可选参数
return this.RedirectToAction<MerchantController>(x => x.Edit(merchantId));
其中edit有第二个可空参数。
为什么会这样?
底层表达式树API不支持可选参数。
对于il编译的代码,c#编译器在编译时插入默认值(硬编码),因为当参数没有显式提供时,CLR也不支持调用带有可选参数的方法。
在尝试使用Mock时也有同样的信息。设置以模拟具有多个默认参数的方法。我只需要把额外的参数加到。
void someMethod(string arg1 = "", string arg2 = "")
mockedObject.Setup(x => x.someMethod(It.IsAny<string>(), It.IsAny<string>()))
错误:“异常树可能不包含使用选项参数的调用或调用”
原因:因为在调用方法时没有提供可选参数。主要是在使用IAsyncProxy服务对象时通过.net core得到这个。
修正:传递所有可选参数值,你可以使用默认值,如果你。