हां, तो वस्तु initializers काम के सभी प्रकार हैं - यदि आप LINQ कर रहे हैं विशेष रूप से अगर, जहां वे पूरी तरह आवश्यक हो - लेकिन मैं काफी यह एक को समझ नहीं सकता:सी # ऑब्जेक्ट initializers के नेस्टेड उपयोग
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 माना जाता है एक असाइन किए गए स्थानीय चर। जब आप
select new Class1() { ...
की तरह कुछ कर रहे हैं यह Linq में भी जटिल हो जाता है तो यह और भी द्वारा यह उल्लेख करने के लिए एक नाम नहीं है!
मैं इसके आसपास कैसे हो सकता हूं? क्या मैं ऑब्जेक्ट प्रारंभकर्ताओं का उपयोग करके नेस्टेड संदर्भ नहीं बना सकता?
मैं इस सवाल का जवाब चाहते सबसे अच्छा है, लेकिन यह मेरे लिए काम नहीं करता है, क्योंकि मैं बाहर छोड़ दिया है कि Class2 वास्तव में सूची है, उदाहरण स्पष्ट करने के। ड्रैट, यह पीछे हट गया। –