静态只读字段未根据字段顺序进行初始化

时间:2017-09-07 21:54:55

标签: c#

我有一个公共静态类,它有许多静态方法和静态只读字段。

public static class Global
{
    ...
    // Config is a static method in Global.
    public static readonly string FirebaseAuthDomain = Config("FirebaseAuthDomain"); 
    private static readonly string ResourceNameFormat = "{0}.{1}";
    ...
}

我访问NullReferenceException时收到ResourceNameFormat。但是,如果我在ResourceNameFormat之前移动FirebaseAuthDomain的声明,如下所示,它可以正常工作。

public static class Global
{
    ...
    private static readonly string ResourceNameFormat = "{0}.{1}";
    // Config is a static method in Global.
    public static readonly string FirebaseAuthDomain = Config("FirebaseAuthDomain"); 
    ...
}

看起来Config()的调用与此行为有关,但我不知道为什么。这两个代码片段有什么区别?

0 个答案:

没有答案