【发布时间】:2013-06-28 22:18:37
【问题描述】:
如果您有以下情况:
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 之前初始化(除了重构或重新排序代码)?我意识到订单决定了每个项目何时执行,但是让订单确定似乎很脆弱。
对于过于简单的代码,我提前道歉。
【问题讨论】:
-
这是一个运行时错误。
-
@Slaks。呃。谢谢。更新的问题。