vậy, initializers đối tượng là tất cả các loại tiện dụng - đặc biệt là nếu bạn đang làm LINQ, nơi họ đang hết sức cần thiết - nhưng tôi không thể khá tìm ra cái này:sử dụng lồng nhau của C# Object Initializers
public class Class1 {
public Class2 instance;
}
public class Class2 {
public Class1 parent;
}
sử dụng như thế này:
Class1 class1 = new Class1();
class1.instance = new Class2();
class1.parent = class1;
như một initializer:
Class1 class1 = new Class1() {
instance = new Class2() {
parent = class1
}
};
này không hoạt động, class1 được cho là một biến cục bộ chưa được gán. nó thậm chí còn phức tạp hơn trong Linq khi bạn đang làm một cái gì đó như
select new Class1() { ...
thậm chí nó không có tên để tham chiếu!
làm cách nào để giải quyết vấn đề này? tôi có thể chỉ đơn giản là không thực hiện tham chiếu lồng nhau bằng cách sử dụng khởi tạo đối tượng?
Tôi thích câu trả lời này tốt nhất nhưng nó không hoạt động đối với tôi, vì tôi rời ra rằng Class2 thực sự là Danh sách, để làm cho các ví dụ rõ ràng hơn. drat, nó bị phản tác dụng. –