如何消除NullReferenceException错误

本文关键字:错误 NullReferenceException 何消 | 更新日期: 2023-09-27 18:29:55

我得到这个错误NullReferenceException was unhandled by user code。错误发生在这条线上

PropertyChanged(this, new PropertyChangedEventArgs("AboveAircraft"));

我尝试了if( this != null),但它仍然出现错误。我该如何摆脱它?

代码如下:

public int AboveAircraft
{
        get { return _above; }
        set
        {
            if (SetProperty(ref _above, value, "AboveAircraft") && _updateModel)
            {
                if (Model.AltitudeBand == null)
                {
                    Model.AltitudeBand = new AltitudeBand();
                }
                if (this != null && AboveAircraft != null)
                {
                    PropertyChanged(this, new PropertyChangedEventArgs("AboveAircraft"));
                    if (_above < _below)
                    {
                        BelowAircraft = _above;
                    }
                }
                Model.AltitudeBand .Above = new AltitudeBandLimit() { Unit = AltitudeUnit.Foot, Value = _above };
            }
        }
}

如何消除NullReferenceException错误

您需要检查PropertyChanged是否为空:

if (PropertyChanged != null)
{
    PropertyChanged(this, new PropertyChangedEventArgs("AboveAircraft"));
}

只有当至少有一个处理程序在其他地方注册时,它才会不为null。