मैं आश्चर्यचकित था, लेकिन सी # में कन्स्ट्रक्टर के साथ enums बनाया जा सकता है।एनम कन्स्ट्रक्टर को कैसे रोकें
public enum Color
{
White = 1,
Red = 2
}
तो यह इस तरह बनाया जा सकता है:: उदाहरण के लिए, मैं enum है
var color = new Color();
और मान 0 है, जो वास्तव में मान्य enum मान नहीं है हो जाएगा।
तो, क्या हम किसी भी तरह से enum रचनाकारों को प्रतिबंधित कर सकते हैं? कोई अन्य विचार इस से कैसे बचें?
धन्यवाद।
'var color = (रंग) 125; 'पूरी तरह से कानूनी भी है। आपको मैन्युअल रूप से जांचना होगा कि enum चर पढ़ने के दौरान मान वैध है या नहीं ... – Haukinger
https://msdn.microsoft.com/en-us/library/ms182149.aspx देखें, आपको गैर- ध्वज enum? – PaulF
0 किसी भी मान प्रकार के लिए डिफ़ॉल्ट है चाहे वह मान्य है या नहीं और बदला नहीं जा सकता है। आप enum का उपयोग कर क्या कर रहे हैं? शायद अगर हमारे पास अधिक संदर्भ था तो हम एक विकल्प का सुझाव दे सकते थे। – Equalsk