那么,对象初始化程序非常方便 - 特别是在使用 Linq 时,它们绝对是必需的 - 但我无法弄清楚这个:
public class Class1 {
public Class2 instance;
}
public class Class2 {
public Class1 parent;
}
使用方式如下:
Class1 class1 = new Class1();
class1.instance = new Class2();
class1.parent = class1;
作为初始化器:
Class1 class1 = new Class1() {
instance = new Class2() {
parent = class1
}
};
这段代码无法正常工作,class1应该是一个未分配的本地变量。在使用Linq时进行如下操作时,情况会更加复杂:
select new Class1() { ...
它甚至没有一个名称来引用它!
我该怎么办?我是否不能使用对象初始化程序来进行嵌套引用?