में कंक्रीट सेटर के साथ सार गेटर मैं केवल पढ़ने के लिए संग्रह के लिए एक सार आधार वर्ग लिखने की कोशिश कर रहा हूं जो IList
लागू करता है। इस तरह के बेस क्लास को NotSupportedException
फेंकने के लिए सेट-इंडेक्सर को कार्यान्वित करना चाहिए, लेकिन गेट-इंडेक्सर को सार के रूप में छोड़ दें। क्या सी # ऐसी स्थिति की अनुमति देता है? यहाँ मैं अब तक है:सी #
public abstract class ReadOnlyList : IList {
public bool IsReadOnly { get { return true; } }
public object this[int index] {
get {
// there is nothing to put here! Ideally it would be left abstract.
throw new NotImplementedException();
}
set {
throw new NotSupportedException("The collection is read-only.");
}
}
// other members of IList ...
}
आदर्श रूप में ReadOnlyList
सेटर को लागू लेकिन गेटर सार छोड़ने के लिए सक्षम होगा। क्या कोई वाक्यविन्यास है जो इसकी अनुमति देता है?
मामले में यह सिर्फ एक अभ्यास नहीं है, आप ढांचे –
धन्यवाद में ReadOnlyCollection है; मैं आमतौर पर ReadOnlyCollection का उपयोग करता हूं, हालांकि इस विशिष्ट मामले को IList के कस्टम कार्यान्वयन के लिए बुलाया गया है। मैं अपने परिदृश्य को एक प्रश्न पूछने के लिए आवश्यक न्यूनतम तक सरल बनाना चाहता हूं। –