पर संग्रह प्रारंभकर्ता का उपयोग करके मैं अपनी कक्षा में प्रारंभिक संग्रह जोड़ने की कोशिश कर रहा हूं। मैं initializers यहाँ के बारे में पढ़ा: https://msdn.microsoft.com/en-us/library/bb384062.aspx#Anchor_2अपनी खुद की कक्षा
मैं महत्वपूर्ण हिस्सा है कि मुझे पहेली बोली होगी:
Collection initializers let you specify one or more element initializers when you initialize a collection class that implements IEnumerable or a class with an Add extension method.
ठीक है, तो मैं शब्द या पर जोर देना चाहते। जैसा कि मैंने इसे पढ़ा है, मुझे के साथ कक्षा बनाने में सक्षम होना चाहिए विधि जोड़ें, और उसके बाद संग्रह प्रारंभकर्ता को इस कक्षा पर काम करना चाहिए? यह मामला प्रतीत नहीं होता है। एक बात मैंने नोट किया था, यह वास्तव में एक विस्तार विधि जोड़ें कहते हैं। तो मैंने ऐड को एक्सटेंशन विधि के रूप में भी बनाने का प्रयास किया, लेकिन इसका कोई फायदा नहीं हुआ।
public class PropertySpecificationCollection
{
private List<PropertySpecification> _internalArr;
public void Add(PropertySpecification item)
{
_internalArr.Add(item);
}
}
मेरा अलावा अन्य व्याख्याओं के उद्धरण अधीन है:
यहाँ एक छोटा सा नमूना मैंने कोशिश की है कि काम नहीं करता है? मैंने इसे बार-बार पढ़ने की कोशिश की, यह देखने के लिए कि क्या मैं इसे किसी अन्य तरीके से समझ सकता हूं, लेकिन ऐसा करने में असफल रहा।
तो मुझे लगता है कि मेरा सवाल है: क्या मैं इसे गलत समझ रहा हूं, क्या मुझे कुछ याद आ रही है, या क्या एमएसडीएन पर संग्रह प्रारंभकर्ताओं के विवरण में कोई त्रुटि है?
क्या होता है जब आप 'PropertySpecificationCollection' का उदाहरण बनाते हैं और कन्स्ट्रक्टर में संग्रह प्रारंभ करते हैं? –
यह प्रलेखन में एक त्रुटि की तरह दिखता है, आपको 'IENumerable' को लागू करना होगा और एक उपयुक्त 'जोड़ें' विधि होनी चाहिए। – Lee
http://stackoverflow.com/questions/2495791/custom-collection-initializers – Mino