1
我很想知道這個問題:INotifyPropertyChanged
對於任何屬性Foo
的以下兩個實現中哪一個更好,甚至更正確?哪些是INotifyPropertyChanged更正確的實現?
/* version A: */ | /* version B: */
private bool foo; | private bool foo;
public bool Foo | public bool Foo
{ | {
set | set
{ | {
| if (value != foo)
| {
foo = value; | foo = value;
OnPropertyChanged("Foo"); | OnPropertyChanged("Foo");
| }
} | }
} | }
(我省略了一切,這是不相關的這個問題。)
我懷疑它應該是版本B上的權利,因爲它可以防止不必要的觸發事件。但是,是否有這些相同的錯過事件會導致問題?
您認爲B可能會導致問題,即訂閱者希望每次將屬性*寫入*(而不是*更改爲值*)時觸發事件? – stakx 2011-01-22 09:56:18