У меня ленивая команда в моем представлении модель:
private ICommand _testCommand;
public ICommand TestCommand => _testCommand ?? (_testCommand = new Command(Test));
и по какой-то причине он вызывается и инициализируется в конструкторе.
Это конструктор:
public TestViewModel(IMediator mediator, IDispatcherService dispatcherService, IGroupService groupService)
{
_mediator = mediator;
_dispatcherService = dispatcherService;
_groupService = groupService;
}
Команда не связана в пользовательском интерфейсе и не вызывается нигде, кроме модульных тестов, в которых эта проблема возникает при построении модели представления, предшествующей вызову свойства.
Я попытался поставить точку останова на свойстве, и когда он вошел в точку останова в стеке вызовов, он показал, что последним, кто вызвал это свойство, является [Внешний код], а до этого конструктор.
Кто-нибудь знает, что на самом деле здесь происходит?