Nell'attuare l'interfaccia INotifyPropertyChanged
nella sua forma più semplice, la maggior parte delle persone sembrano implementare in questo modo ::InotifyProperyChanged: perché l'assegnazione aggiuntiva?
public virtual void OnPropertyChanged(string propertyName)
{
var propertyChanged = PropertyChanged;
if (propertyChanged != null)
{
propertyChanged(this, new PropertyChangedEventArgs(propertyName));
}
}
La mia domanda è: perché l'assegnazione supplementare di var propertyChanged = PropertyChanged;
? È solo una questione di preferenza, o c'è una buona ragione per questo? Sicuramente quanto segue è altrettanto valido?
public virtual void OnPropertyChanged(string propertyName)
{
if (PropertyChanged != null)
{
PropertyChanged(this, new PropertyChangedEventArgs(propertyName));
}
}
http://stackoverflow.com/questions/786383/c-sharp-events-and-thread-safety –