その最も基本的な形でINotifyPropertyChanged
インタフェースを実装する場合、ほとんどの人はこのようにそれを実装するように見える::INotifyProperyChanged - 余分な割り当てはなぜですか?
public virtual void OnPropertyChanged(string propertyName)
{
var propertyChanged = PropertyChanged;
if (propertyChanged != null)
{
propertyChanged(this, new PropertyChangedEventArgs(propertyName));
}
}
私の質問は:var propertyChanged = PropertyChanged;
のはなぜ余分に割り当て?それは単なる優先事項ですか、それともそれには正当な理由がありますか?確かに次のように有効ですか?
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 –