मेरे पास कोड का एक सेट है जो एप्लिकेशन के लिए विशेष है (कोड के नाम पर एक से एक मैपिंग), और मैं उनका प्रतिनिधित्व करने के लिए सी # में enums का उपयोग कर रहा हूं। मुझे यकीन नहीं है कि अगर यह भी जरूरी है। मूल्यों कभी नहीं बदल, और वे हमेशा उन लेबल के साथ जुड़े होने के लिए जा रहे:स्थिर सदस्यों के साथ एनम बनाम कॉन्स्टेंट/कक्षा?
Workflow_Status_Complete = 1
Workflow_Status_Stalled = 2
Workflow_Status_Progress = 3
Workflow_Status_Complete = 4
Workflow_Status_Fail = 5
मैं एक enum या स्थिर सदस्यों के साथ एक वर्ग उपयोग करना चाहिए?
+1; enums का उपयोग किए बिना आप 'Enum.GetValues' और' Enum.GetNames 'के माध्यम से मूल्यों को प्रोग्रामिक रूप से * गणना * करने की क्षमता खो देते हैं। यह अक्सर उपयोगी हो सकता है कॉम्बो बॉक्स भरने पर, आदि –
आपकी कक्षा में इन गणना सुविधाओं को जोड़ना प्रतिबिंब गणना स्थिर क्षेत्रों पर आधारित नहीं है। – CodesInChaos
बेशक यह कठिन नहीं है। बिंदु एक enum के साथ है, आप भी * उन्हें जोड़ने के लिए। (यह भी कम सुरक्षित है क्योंकि आप नामकरण सम्मेलन के आधार पर व्यक्तिगत मूल्यों को मानते हैं, संभवतः –