Я пытаюсь настроить метод OnChange в IOptionsMonitor из asp. net ядра. Но для меня не очевидно, почему Setup () не работает. Кстати, я видел подобные примеры здесь System.NotSupportedException: неподдерживаемое выражение: p => (p.UserProfileId == 1) И у меня почти все то же самое. В чем причина ошибки?
Код выполнения:
var optionMonitorMock = new Mock<IOptionsMonitor<MyConfig>>();
optionMonitorMock
.Setup(mock => mock.OnChange(It.IsAny<Action<MyConfig>>()));
Код выполняется с исключением:
System.NotSupportedException. Неподдерживаемое выражение: mock => mock.OnChange (It.IsAny > ()) Методы расширения (здесь: 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; }
}