.net - Why does not IDictionary (non-generic) inherit from IEnumerable<DictionaryEntry>? -


IDictionary & lt; TKey, TValue & gt; से संहिता IEnumerable & lt; keyvaluepair & lt; tkey, TValue & gt; & Gt; , लेकिन IDictionary किसी कारण से IEnumerable & lt; DictionaryEntry & gt; से प्राप्त नहीं होता है। मुझे आश्चर्य है क्योंकि? मुझे इस बदसूरत लिखने से नफरत है। ओफ़टीइप & lt; शब्दकोशइंटर्री & gt; () हर बार जब मुझे IDictionary के विरुद्ध कोई क्वेरी करने की आवश्यकता हो।

उस परिवर्तन को इंटरफेस के हर मौजूदा कार्यान्वयन को तोड़ दिया जाएगा (क्योंकि वे अचानक कुछ तरीकों को खो देंगे जो इंटरफ़ेस कहता है कि वे हैं)। < / P>

इसके अलावा, IDictionary केवल जेनेरिक से पहले के समय से लीगेसी अनुकूलता के लिए मौजूद है आपको नये कोड में इसका उपयोग नहीं करना चाहिए, जब तक कि बिल्कुल आवश्यक न हो। यदि आप वास्तव में ऑब्जेक्ट प्रकार के साथ काम कर रहे हैं, तो आप IDictionary & lt; ऑब्जेक्ट, ऑब्जेक्ट & gt; इसके बजाय।


Comments