我正在详细阅读iNotifyPropertyChanged。
有人可以澄清我们为什么需要检查
PropertyChanged !=null
?
为什么事件会为空?或者换句话说,为什么甚至检查它是否为空?调用NotifyPropertyChanged
的唯一时间是PropertyChanged
被引发(因此它不能为空),不是它。谁/什么可以使它为空?
public event PropertyChangedEventHandler PropertyChanged;
private void NotifyPropertyChanged(string info)
{
if (PropertyChanged != null)
{
PropertyChanged(this,new PropertyChangedEventArgs(info));
}
}
谢谢。
答案 0 :(得分:9)
如果没有人订阅该活动,则该活动将为空。因此,如果不这样做,您将在运行时获得事件的NullReferenceException。
对于您正在谈论的界面,它也可能会在订阅者有机会订阅之前发生,尽管他们将要订阅,因为INotifyPropertyChanged界面非常繁琐。