[英]System.NotSupportedException while calling captureSource.Start() in wp8
[英]System.NotSupportedException while calling Setup() in Moq
我正在尝试从 asp.net 核心设置 IOptionsMonitor 中的 OnChange 方法。 但这对我来说并不明显,为什么 Setup() 不起作用。 顺便说一句,我在这里看到了类似的例子System.NotSupportedException: Unsupported expression: p => (p.UserProfileId == 1)而且我几乎都一样。 错误的原因是什么?
执行代码:
var optionMonitorMock = new Mock<IOptionsMonitor<MyConfig>>();
optionMonitorMock
.Setup(mock => mock.OnChange(It.IsAny<Action<MyConfig>>()));
代码出现异常:
System.NotSupportedException。 不支持的表达式:mock => mock.OnChange< MyConfig>(It.IsAny< Action< MyConfig>>()) 扩展方法(此处:OptionsMonitorExtensions.OnChange)不能在设置/验证表达式中使用。
asp.net的界面:
public interface IOptionsMonitor<out TOptions>
{
TOptions CurrentValue { get; }
TOptions Get(string name);
IDisposable OnChange(Action<TOptions, string> listener);
}
该模型:
public class MyConfig
{
public int Id { get; set; }
public string Options { get; set; }
}
接口只暴露IDisposable OnChange(Action<TOptions, string> listener);
. 你的例外说
扩展方法(此处:OptionsMonitorExtensions.OnChange)不能在设置/验证表达式中使用。
因此,您将不得不使用具有该方法的安装程序。
optionMonitorMock
.Setup(mock => mock.OnChange(It.IsAny<Action<MyConfig,string>>()));
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.