Что ж, реализация RaisePropertyChanged
не выдерживает, вызов execute будет сделан непосредственно перед любым другим кодом в блоке (или опцией A, как вы описали).
...
public void OnSave()
{
RaisePropertyChanged("my property");
//.. All following code gets executed AFTER RaisePropertyChanged returns execution
}
Причина, по которой я говорю, что реализация не выдерживает, состоит в том, что если метод использует асинхронный код, то возможно, что возврат произойдет немедленно и что фактическая работа, вызванная методом, может быть завершена после другого кода в блоке, следующем за RaisePropertyChanged
.. Я надеюсь, что это не слишком много информации.