静态类没有得到初始化

问题描述 投票:-2回答:1
public static class Locals
{
    static Locals()
    {
        KEY_DISPLAYURL = "DisplayUrl";
        DISPLAY_URL = bool.Parse(ConfigurationManager.AppSettings.Get(KEY_DISPLAYURL)
                                 .ToString());
    }

    public static string KEY_DISPLAYURL;
    public static bool DISPLAY_URL;
}

public partial class _Default : Page
{
    protected void Page_Load(object sender, EventArgs e)
    {
        if (Locals.DISPLAY_URL)
            Response.Redirect("Login.aspx");
        else
            Server.Transfer("Login.aspx");
    }
}
  • 当访问Locals.DISPLAY_URL一个NullReferenceException被抛出。
  • 在静态类断点不打。
  • 调试器的监视窗口中显示的值
  • 更改为一个发布版本没有帮助。

我如何理解它,当它被访问的静态类应该得到初始化。

可能是什么原因?如何进一步调试?

c# asp.net .net .net-4.5
1个回答
-4
投票

当地人为空,因为它的初始化抛出异常。

您可以在NullReferenceException异常后继续执行,asp.net会显示网页有错误。

不要相信你的IDE无条件地,在这种情况下,误报和未能命中断点。

© www.soinside.com 2019 - 2024. All rights reserved.