我開始閱讀有關MVVM和一個模式我看到很多是:C#INotifyPropertyChanged的處理
public event PropertyChangedEventHandler PropertyChanged;
//.....
PropertyChangedEventHandler handler = this.PropertyChanged;
if (handler != null)
{
var e = new PropertyChangedEventArgs(propertyName);
handler(this, e);
}
爲什麼要費心去申報這handler
變量?它只是在我看來是不必要地複雜的代碼,但我可以看到這甚至在微軟自己的教程,爲什麼不只是使用它作爲:
if (this.PropertyChanged != null)
{
var e = new PropertyChangedEventArgs(propertyName);
this.PropertyChanged(this, e);
}
哦有趣的知道!因此,如果該屬性爲null,則由處理程序創建的副本將正確調用某些處置的對象?這不是一個問題嗎? – mFeinstein
對不起,你是什麼意思「所以樣品不包括它」?我幾乎可以在網上找到的幾乎所有示例代碼中看到這段代碼 – mFeinstein
@mFeinstein對於第一個問題,有很多情況下事件處理程序可以設置爲null,但舊對象不會丟棄,所以不必*一個問題,儘管它*可能是一個。第二,我指的是微軟的教程。 – BradleyDotNET