परावर्तक मुझसे कहता है कि SortedList अपवाद के बजाय उदाहरण के लिए, उन्हें सीधे फेंकने की फेंकने के लिए एक ThrowHelper वर्ग का उपयोग करता है:सॉर्टेडलिस्ट कार्यान्वयन सीधे फेंकने के बजाय थ्रोहेल्पर का उपयोग क्यों करता है?
public TValue this[TKey key]
{
get
{
int index = this.IndexOfKey(key);
if (index >= 0)
return this.values[index];
ThrowHelper.ThrowKeyNotFoundException();
return default(TValue);
}
जहां ThrowKeyNotFoundException बस से ज्यादा कुछ नहीं करता है:
throw new KeyNotFoundException();
नोट कैसे इस एक की आवश्यकता है डफ स्टेटमेंट "रिटर्न डिफॉल्ट (टीवीएयू)" जो पहुंच योग्य नहीं है। मुझे यह निष्कर्ष निकालना होगा कि यह एक पैटर्न है जो इसे उचित ठहराने के लिए पर्याप्त लाभ के साथ है।
ये लाभ क्या हैं?
क्या आपने वास्तविक माइक्रोसॉफ्ट कोड देखा है और यह क्या संकलित नहीं है? –
नहीं, मैंने नहीं किया है। क्या यह काफी अलग है? यदि ऐसा है, तो कृपया इसे एक उत्तर में समझाएं! :) –