【问题标题】:Null reference exception is thrown when accessing property which is initialized using startup.cs访问使用 startup.cs 初始化的属性时抛出空引用异常
【发布时间】:2016-08-25 06:52:21
【问题描述】:

我正在研究 ASP.NET MVC6。

我的课程名为 Commons.cs

在 commons.cs 中,我有一个名为 key 的属性,它正在使用 startup.cs 和 appsettings 进行初始化。

问题在于:我有一个方法 Set(),它也位于 commons.cs 中并使用 key

但是当我运行项目时 key's 的值为 null 并给出错误。

我试过这个:

又创建了一个类,其属性名为 key1,并在默认构造函数中为 key1 赋值:

public TempClass() { key1=Commons.Key; }

然后我将此 key1 引用到 Commons.Set()

取而代之的是 null;

总结:如何在整个项目中访问 startup.cs 初始化的属性。 或者当 startup.cs 实际初始化类属性时。

【问题讨论】:

    标签: asp.net-mvc asp.net-mvc-5 asp.net-core-mvc


    【解决方案1】:

    由于您的问题没有太多可处理的内容,因此我假设您尝试访问的属性是静态的。

    尝试在静态构造函数中初始化它们:

    static Commons()
    {
        Key = "Foo";
    }
    

    【讨论】:

    • 它是静态的。但我将它从同一个类传递给另一个类的参数化构造函数。
    • 您是否验证了您的关键字段已初始化? Set 方法是初始化后调用的吗?
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多