이 질문에는 이미 답변이 있습니다.
내가 자세히 읽고 iNotifyPropertyChanged입니다.
누군가가 왜 확인을해야하는지 명확하게 설명해 줄 수 있습니까?PropertyChanged !=null
?
이벤트가 null이되는 이유는 무엇입니까? 또는 다른 말로하면 null인지 검사하는 이유는 무엇입니까? 유일한 시간이야.NotifyPropertyChanged
라는 이유는PropertyChanged
제기되었습니다 (null이 될 수 없으므로). 누가 / 무엇을 null로 만들 수 있습니까?
public event PropertyChangedEventHandler PropertyChanged;
private void NotifyPropertyChanged(string info)
{
if (PropertyChanged != null)
{
PropertyChanged(this,new PropertyChangedEventArgs(info));
}
}
고맙습니다.
아무도 이벤트에 가입하지 않으면 null이됩니다. 따라서 런타임에 이벤트에 NullReferenceException을 발생시킬 수 있습니다.
이야기하고있는 인터페이스의 경우 INotifyPropertyChanged 인터페이스가 꽤 수다스러운 관계로 가입자가 곧 가입 할 기회가 생기기 전에 구독자가 구독 할 기회가 생길 가능성이 높습니다.
null
몇 가지 이유로. 첫 번째 이유는그것은 될 수 있습니다null
. 두 번째 이유는 해당 속성이 WPF 구성 요소에서 사용되지 않고 장면의 뒷받침으로 사용되지 않았기 때문입니다.PropertyChanged
등록. 다른 많은 경우가있을 수 있습니다. 따라서 이유 #1은이유너는 확인해.null
모든 경우에. - Mike Perrenoud