Код: Выделить всё
[ObservableProperty, NotifyCanExecuteChangedFor(nameof(FooCommand)]
private FooType? _fooObject;
[RelayCommand(CanExecute = nameof(CanExecuteFooCommand)]
private void Foo()
{
SomeMethod(FooObject.ID); // gives CS8602: Possible dereference of null
}
private bool CanExecuteFooCommand()
{
return FooObject is not null;
}
private void SomeMethod(Guid? fooObject)
{
}
Еще одна проверка на нулевое значение FooObject в Execute?< /p>
Использование типа, допускающего значение NULL ? в SomeMethod(FooObject?.ID)
Использование оператора, допускающего значение NULL !< /code> в SomeMethod(FooObject!.ID)
Или есть ли другой способ, о котором я не знаю?
Может ли FooObject когда-либо стать нулевым между частями CanExecute и Execute?
Подробнее здесь: https://stackoverflow.com/questions/787 ... laycommand