是否可以使用空合并运算符和'as'获取NullReferenceException?

时间:2013-05-02 14:05:36

标签: c# nullreferenceexception

我正在点击一个应用程序而且我得到了一个......

  

NullReferenceException未将对象引用设置为的实例   对象

堆栈跟踪准确指向这行代码:

 this.ModelControl = this.ModelControl as CreerEtablissementModel ?? new CreerEtablissementModel();

this.ModelControl as CreerEtablissementModel之前??是否可能抛出异常?

修改

按要求......你需要这个班级成员(在我的情况下是继承的)

    private const string modelcontrol = "MODELCONTROL";
    public object ModelControl
    {
        get { return (object)HttpContext.Current.Session[modelcontrol] ?? new object(); }
        set { HttpContext.Current.Session[modelcontrol] = value; }
    }

1 个答案:

答案 0 :(得分:3)

不,as与空合并运算符组合不可能抛出NullReferenceException

异常最有可能来自您的财产。 HttpContext.CurrentHttpContext.Current.Sessionnull

您可以通过在属性的getter中设置断点来轻松检查这一点。