Когда RaisePropertyChanged фактически выполняется - PullRequest
0 голосов
/ 14 ноября 2011

c #, VS 2011, Silverlight 4.

, когда RaisePropertyChanged ("...") фактически исполняется A, B или C (см. Ниже)

, если у меня есть C #метод

public void OnSave()
{
   RaisePropertyChanged("my property");

     (A)   is it executed here or (B) after the method is finished (or (C) we cannot know)?

   bla,bla,bla (more code)





} 

или (B) Здесь?

1 Ответ

0 голосов
/ 14 ноября 2011

Что ж, реализация RaisePropertyChanged не выдерживает, вызов execute будет сделан непосредственно перед любым другим кодом в блоке (или опцией A, как вы описали).

...

public void OnSave()
{
    RaisePropertyChanged("my property");

    //.. All following code gets executed AFTER RaisePropertyChanged returns execution
}

Причина, по которой я говорю, что реализация не выдерживает, состоит в том, что если метод использует асинхронный код, то возможно, что возврат произойдет немедленно и что фактическая работа, вызванная методом, может быть завершена после другого кода в блоке, следующем за RaisePropertyChanged .. Я надеюсь, что это не слишком много информации.

...