Al implementar la interfaz INotifyPropertyChanged
en su forma más básica, la mayoría de la gente parece implementarlo como esto ::INotifyProperyChanged: ¿por qué la asignación extra?
public virtual void OnPropertyChanged(string propertyName)
{
var propertyChanged = PropertyChanged;
if (propertyChanged != null)
{
propertyChanged(this, new PropertyChangedEventArgs(propertyName));
}
}
Mi pregunta es: ¿Por qué la asignación adicional de var propertyChanged = PropertyChanged;
? ¿Es solo cuestión de preferencia o hay una buena razón para ello? Sin duda, lo siguiente es tan válido?
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 –