问题描述
我有带有静态只读字段的部分类,在其中一个部分类中,我正在创建所有静态只读成员的静态只读列表。出于某种原因,该列表以正确数量的条目结束,但所有条目都为空。
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 (将#修改为@)