C# - 为什么VS 2017会对事件对象进行空值检查?

时间:2018-06-05 12:54:05

标签: c# visual-studio visual-studio-2017

对事件对象执行空检查时,Visual Studio会将代码颜色更改为浅灰色。如果我没有弄错,通常意味着这条线是不必要的。显然,在我的情况下情况并非如此(或者是吗?)。请参阅下面的示例:

var

以下是截图: enter image description here

2 个答案:

答案 0 :(得分:5)

如果您右键单击并查看(Quick Actions and Refactorings)建议的修补程序,您将看到null引用检查可以通过使用{在与引发事件相同的行上执行{1}}运营商(安全导航运营商)。

它将建议的行动如下:

?

答案 1 :(得分:1)

这是一个代码建议。如果您将光标悬停在它上面,您会看到一些"快速操作"保证金中的图标,如果你点击它,你会看到它建议你可以通过使用空条件运算符来改进你的陈述 - 使其更简洁:

enter image description here

PropertyChanged?.Invoke(this, new PropertyChangedEventArgs(propertyName));