मेरे पास List<Location>
का उप-वर्ग है जिसे LocationList
कहा जाता है। यह हमारे लिए अन्य गुणों को जोड़ने का एक सुविधाजनक तरीका है (जैसे IsExpanded
और इस तरह हम यूआई में उपयोग कर सकते हैं। काफी अच्छा है। लेकिन अब, हम चाहते हैं कि प्रत्येक स्थान अपने माता-पिता से अवगत रहें। ऐसे में, हमें अधिसूचित होने की आवश्यकता है हम ObservableCollection उपयोग कर सकते हैं कुछ LocationList में जोड़ा जाता है, लेकिन आप Add
और Remove
करती है।, कि एक दृश्य/ViewModel के और अधिक का निर्माण है। यह शुद्ध मॉडल डेटा है।मैं सी # 4.0 में एक सामान्य सूची में जोड़ों का पता कैसे लगा सकता हूं?
ज़रूर हम स्वयं को जोड़ते समय माता पिता सेट कर सकते हैं यह संग्रह में है, लेकिन मुझे गैर-स्वचालित तर्क से नफरत है क्योंकि इसके सेट को सही ढंग से लागू करने के लिए कुछ भी नहीं है। संग्रह (अच्छी तरह से, सूची) स्वचालित रूप से कहें 'अरे ... आपको जोड़ा जा रहा है, इसलिए मैं आपका सेट करूंगा कक्षा के अभिभावक जो मेरे मालिक हैं। "मैं जो हूं उसके बाद हूं।
मेरा विचार उप-वर्ग List<Location>
के बजाय है, इसके बजाय केवल एक सीधी कक्षा बनाएं जो आंतरिक रूप से List<Location>
का उपयोग करती है, और फिर मैं बस अपने स्वयं के जोड़ें/निकालें विधियों का पर्दाफाश कर सकता हूं और समायोजन को 'माता-पिता' में संभाल सकता हूं। हालांकि, आंतरिक संग्रह पर गणना करने में सक्षम होने के कारण इतने ब्रेक कर रहे हैं क्योंकि यह अंदर है।
उस ने कहा, क्या List<Location>
में परिवर्तनों को सुनने के लिए कोई तरीका है या कम से कम अपने IEnumerable
इंटरफ़ेस को लपेटा हुआ ऑब्जेक्ट से इसके रैपर में सौंपना है?
यह लागू करने के लिए सबसे आसान लगता है ... संग्रह संग्रह में बदल रहा है जो ऑब्जर्जेबल कोलेक्शन के सभी ओवरहेड को जोड़ता नहीं है, हालांकि आप सूची की तुलना में थोड़ा प्रदर्शन खो देते हैं। फिर भी, यह काफी अच्छा है इसलिए आपको वोट मिल रहा है। धन्यवाद! –
MarqueIV