sch*_*tte 0 c# visual-studio visual-studio-2017
对事件对象执行空检查时,Visual Studio会将代码颜色更改为浅灰色。如果我没记错的话,通常意味着这行是不必要的。显然,在我的情况下不是这样(或者是?)。请参阅下面的示例:
public event PropertyChangedEventHandler PropertyChanged;
string test;
protected void OnPropertyChanged (string propertyName)
{
if (PropertyChanged != null) { //This line is grey
PropertyChanged(this, new PropertyChangedEventArgs(propertyName));
} //This line is grey
if (test != null) {
PropertyChanged(this, new PropertyChangedEventArgs(propertyName));
}
}
Run Code Online (Sandbox Code Playgroud)
如果右键单击并查看(快速操作和重构)建议的修复程序,您将看到null可以使用?操作员(安全导航操作员)在与事件引发相同的行上执行参考检查。
建议采取的措施如下:
this.PropertyChanged?.Invoke(this, new PropertyChangedEventArgs(propertyName));
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
127 次 |
| 最近记录: |