如果您有以下:更改爲了私人只讀屬性進行評估
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之前被初始化(除了重構或重新排序代碼之外)?我意識到訂單決定了每件物品何時執行,但確定的順序看起來很脆弱。
我爲簡單代碼提前道歉。
這是一個_runtime_錯誤。 – SLaks
[C#中的靜態構造函數/初始化程序的順序]的可能重複(http://stackoverflow.com/questions/185384/order-of-static-constructors-initializers-in-c-sharp) – tster
@Slaks。咄。謝謝。更新的問題。 – bryanjonker