Khi thực hiện giao diện INotifyPropertyChanged
ở dạng cơ bản nhất của nó, hầu hết mọi người dường như để thực hiện nó như thế này ::INotifyProperyChanged - tại sao lại chuyển nhượng thêm?
public virtual void OnPropertyChanged(string propertyName)
{
var propertyChanged = PropertyChanged;
if (propertyChanged != null)
{
propertyChanged(this, new PropertyChangedEventArgs(propertyName));
}
}
Câu hỏi của tôi là: Tại sao sự phân công thêm var propertyChanged = PropertyChanged;
? Nó chỉ là vấn đề ưu tiên, hay có lý do chính đáng cho nó? Chắc chắn sau đây là chỉ là hợp lệ?
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 –