यहाँ एक परियोजना पर भागो कोड विश्लेषण भागने की कोशिश की, और कहा कि ने कहा कि कुछ इस तरह चेतावनी के एक नंबर मिला है:सी #: सूची <T> और संग्रह <T> के बीच अंतर (CA1002, सामान्य सूचियों को बेनकाब मत)
CA1002: Microsoft.Design: परिवर्तन 'सूची < SomeType>' 'SomeClass.SomeProtectedOrPublicProperty' संग्रह, ReadOnlyCollection उपयोग करने के लिए या KeyedCollection
Wh में क्या मुझे के बजाय Collection<T>
का उपयोग करना चाहिए? जब मैं msdn प्रलेखन को देखता हूं, तो वे लगभग बराबर लगते हैं। चेतावनी के लिए त्रुटि सहायता पढ़ने के बाद, मैंने पाया कि
सिस्टम। चयन। जेनरिक.लिस्ट (टी) _ एक सामान्य संग्रह प्रदर्शन के लिए डिज़ाइन नहीं किया गया है और इसलिए, इसमें कोई वर्चुअल सदस्य नहीं है।
लेकिन इसका वास्तव में क्या अर्थ है? और इसके बजाय मुझे क्या करना चाहिए?
क्या मुझे आंतरिक रूप से List<T>
का उपयोग करना जारी रखना चाहिए, और फिर गुणों में new Collection<T>(someList)
बदले में? या मुझे List<T>
के बजाय Collection<T>
का उपयोग शुरू करना चाहिए?
देखें [यह ब्लॉग पोस्ट] (http://blogs.msdn.com/fxcop/archive/2006/04/27/585476।एएसपीएक्स) एक विस्तृत स्पष्टीकरण के लिए –
संयोग से, यदि आप जानना चाहते हैं कि संग्रह क्यों है [System.Collections.ObjectModel तो इसे पढ़ें] (http://blogs.msdn.com/kcwalina/archive/2005/03/15/396086 .aspx) Krzysztof Cwalina द्वारा। –