【发布时间】:2016-05-20 04:44:25
【问题描述】:
例如实现INotifyPropertyChanged接口:
public event PropertyChangedEventHandler PropertyChanged;
private void OnPropertyChanged([CallerMemberName] string propertyName = null)
{
var handler = PropertyChanged;
if (handler != null)
handler.Invoke(this, new PropertyChangedEventArgs(propertyName));
}
两件事:
- 将事件复制到局部变量以防止多线程错误(here 是一些示例)。如果您不复制到局部变量,Resharper 会发出通知:
- 检查它是否为空,以防止
NullReferenceException
但是现在,我们可以使用?. 运算符进行空值检查。如果我使用它,Resharper 是空闲的:
所以,问题是:如果我使用空条件运算符,我应该将事件ProperyChanged 复制到局部变量吗?
【问题讨论】:
标签: c# .net event-handling resharper