Jie*_*eng 2 c# inotifypropertychanged
可能重复:
为什么每次触发事件时C#都要求您写一个空检查?
我经常看到以下代码,但不知何故得不到它.
if (PropertyChanged != null)
PropertyChanged(this, new PropertyChangedEventArgs("UIState"));
Run Code Online (Sandbox Code Playgroud)
为什么我需要在搜索之前检查事件是否为null.所有的时间,至少在我尝试的时候,我可以通过举起活动来逃避.
它与INotifyPropertyChanged无关.任何没有注册事件处理程序的事件都可以为null,如果在null为null时尝试调用PropertyChanged(或任何事件),则会得到NullReferenceException.
无法保证PropertyChanged永远不会为null.碰巧在注册事件处理程序时总是调用它.