如果您有以下情况:
public class MyClass {
private static readonly MyObject obj =
new MyObject { parent = listObject[0] };
private static readonly List<MyObject> listObject =
new List<MyObject> { new MyObject() };
}
初始化 MyClass 时会抛出运行时错误,因为当它尝试初始化 obj 时,listObject 为空。
编辑:有没有办法明确指定每个只读对象何时初始化(如通过属性),以便 listObject 在 obj 之前初始化(重构或重新排序代码除外)?我意识到订单决定了每个项目何时执行,但是让订单确定似乎很脆弱。
我提前为简单的代码道歉。