跨部分类使用私有静态成员

问题描述

我有带有静态只读字段的部分类,在其中一个分类中,我正在创建所有静态只读成员的静态只读列表。出于某种原因,该列表以正确数量的条目结束,但所有条目都为空。

public partial class Numbers
{
    public static readonly List<string> All = new List<string>
    {
        One,Two
    };
}

public partial class Numbers
{
    public static readonly string One = "One";
}

public partial class Numbers
{
    public static readonly string Two = "Two";
}

var all = Numbers.All;

// all.Count() is 2
// all.First() is null
// all.Last() is null

谁能帮我理解这是为什么?

我注意到,如果我将 Numbers.All 字段更改为非只读属性,则列表中的值与预期一致,而不是 null。所以我猜这与读取部分类的方式有关,或者与 readonly 的用法有关,但我真的对此感到困惑。

切换到非只读属性显然很容易,也许这是一种更好的方法(?),但我真的很好奇为什么使用只读字段不起作用。

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)