Ich habe folgendes Muster für die Umsetzung INotifyPropertyChangedMuster für die Implementierung von INotifyPropertyChanged?
private void NotifyPropertyChanged(string propertyName)
{
PropertyChangedEventHandler handler = PropertyChanged;
if (handler != null)
{
handler(this, new PropertyChangedEventArgs(propertyName));
}
}
public event PropertyChangedEventHandler PropertyChanged;
mir die Notwendigkeit des var Handler Property Zuordnung vor = für null im Vergleich zu direkt Überprüfung Property == null auf der Überprüfung erklären Kann jemand verwendet gesehen direkt?
Dank
möglich Duplikat von [Warum erfordert C#, dass Sie jedes Mal, wenn Sie ein Ereignis auslösen, einen Null-Test schreiben ?] (http://stackoverflow.com/questions/3102918/why-does-c-require-you-to-writing-a-null-check-every-time-you-fire-an-event) – decyclone
@decyclone Dies ist kein Duplikat ... Das OP fragt nicht, warum Sie überprüfen müssen, ob der Handler null ist, aber warum Sie eine lokale Kopie des Handlers verwenden müssen. –
Ist dieses Muster für VB.NET erforderlich? Oder behandelt RaiseEvent dies für Sie? – MCattle