如何摆脱NullReferenceException错误

Jan*_*ang 1 c#

我收到这个错误NullReferenceException was unhandled by user code.此行发生错误

PropertyChanged(this, new PropertyChangedEventArgs("AboveAircraft"));
Run Code Online (Sandbox Code Playgroud)

我试过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 };
            }
        }
}
Run Code Online (Sandbox Code Playgroud)

Chr*_*isF 6

您需要检查是否PropertyChanged为null:

if (PropertyChanged != null)
{
    PropertyChanged(this, new PropertyChangedEventArgs("AboveAircraft"));
}
Run Code Online (Sandbox Code Playgroud)

如果在其他地方至少注册了一个处理程序,它将不为null.