.NET Framework 4.0 रिलीज के साथ ISet<T>
इंटरफ़ेस जोड़ रहा है। उसी रिलीज में, एफ # को प्रथम श्रेणी की भाषा के रूप में जोड़ा जा रहा है। एफ # एक अपरिवर्तनीय Set<'T>
कक्षा प्रदान करता है।एफ # सेट क्यों ISET <T> लागू नहीं करता है?
यह मेरे लिए तार्किक प्रतीत होता है कि प्रदान किया गया अपरिवर्तनीय सेट ISet<T>
इंटरफ़ेस को लागू करेगा, लेकिन ऐसा नहीं है। क्या किसी को पता है क्यों?
मेरा अनुमान है कि वे उत्परिवर्तनीय होने के लिए एक इंटरफेस को कार्यान्वित नहीं करना चाहते थे, लेकिन मुझे नहीं लगता कि यह स्पष्टीकरण कायम है। आखिरकार, उनके Map<'Key, 'Value>
वर्ग IDictionary
लागू करता है, जो उत्परिवर्तनीय है। और इंटरफेस को लागू करने वाले वर्गों के ढांचे में कहीं और उदाहरण हैं जो केवल आंशिक रूप से उपयुक्त हैं।
मेरा दूसरा विचार यह है कि ISet<T>
नया है, इसलिए हो सकता है कि वे इसके आसपास न आएं। लेकिन यह पतला लगता है।
क्या तथ्य यह है कि ISet<T>
सामान्य है (v। IDictionary
, जो नहीं है) इसके साथ कुछ लेना देना है?
इस मामले पर किसी भी विचार की सराहना की जाएगी।
.NET ढांचे में, 'ReadOnlyCollection 'लागू' आईसीओलेक्शन ', जो एक परिवर्तनीय इंटरफ़ेस है। –
Steven
@ स्टेवन राइट, यह एक इंटरफ़ेस को लागू करने वाले ढांचे वर्ग का एक उदाहरण है जो पूरी तरह उपयुक्त नहीं है। –