निम्न कोड पर विचार करें:क्या स्विच स्टेटमेंट में अनचाहे मामलों के दौरान सी # कंपाइलर डिस्प्ले चेतावनियां रखने का कोई तरीका है?
private enum myEnum
{
A,
B
}
private void myMethod(myEnum m)
{
switch (m)
{
case myEnum.A:
//do stuff
break;
case myEnum.B:
//do stuff
break;
default:
throw new NotImplementedException(m.ToString());
}
}
अगर मैंने कभी भी myEnum में तीसरा सदस्य सी जोड़ दिया है, तो मुझे केवल एक रनिटाइम पर चेतावनी दी जाएगी जिसे NotImplementedException
मैं क्या करना चाहता हूं संकलक चेतावनी है जब अनचाहे मामलों और के साथ कोई स्विच नहीं है तो कोई डिफ़ॉल्ट: केस।
क्या ऐसा करने का कोई तरीका है, या इस समस्या के अन्य समाधान, अंतिम लक्ष्य संकलित समय पर चेतावनी दी जा रही है कि कुछ गुम है?
एक अच्छा बात है कि। लेकिन मेरी स्थिति में, मुझे नहीं लगता कि यह लागू होता है (इससे लगभग खाली कक्षाएं होती हैं, जिसमें कुछ तर्क शामिल होते हैं जो उनकी ज़िम्मेदारी नहीं है।आम तौर पर, मेरे पास समेकित सदस्य युक्त कुछ डेटाकंट्रैक्ट हैं, और मेरे जीयूआई उन सदस्यों को प्रारूपित करने के लिए स्विच करते हैं ताकि उन्हें प्रारूपित किया जा सके।) – Brann
एक अच्छा पैटर्न है, लेकिन इसे देखभाल के साथ उपयोग करें। यदि आपका enum बड़ा है और आपके स्विच को केवल कुछ मामलों को संभालने की आवश्यकता है, तो संभवतः आप एक अरब वर्ग नहीं बनाना चाहते हैं। संपादन के लिए –
+1। =) –