मैं अक्सर अपने आप को एक वर्ग के रूप में कुछ प्रकार की स्थिति की संपत्ति बनाए रखने के लिए खुद को एनम के रूप में कार्यान्वित करता हूं: मेरे पास एक स्टेटस इनम और वन स्टेटस प्रॉपर्टी ऑफ स्टेटस टाइप है। मुझे इस नाम संघर्ष को कैसे हल करना चाहिए?
public class Car
{
public enum Status
{
Off,
Starting,
Moving
};
Status status = Status.Off;
public Status Status // <===== Won't compile =====
{
get { return status; }
set { status = value; DoSomething(); }
}
}
अगर स्टेटस इनम अलग-अलग तरह के होते हैं, तो मैं इसे क्लास के बाहर रख दूंगा और समस्या हल हो जाएगी। लेकिन स्थिति केवल कार पर लागू होती है इसलिए क्लास के बाहर एनम को घोषित करने का कोई मतलब नहीं है।
इस मामले में आप किस नामकरण सम्मेलन का उपयोग करते हैं?
एनबी: इस सवाल का इस सवाल के जवाब की टिप्पणियों में आंशिक रूप से बहस हुई थी । चूंकि यह मुख्य प्रश्न नहीं था, इसलिए इसे बहुत अधिक दृश्यता नहीं मिली।
EDIT: फिलिप एकबर्ग 'स्टेटस' के विशिष्ट मामले के लिए एक उत्कृष्ट IMO का सुझाव देता है। फिर भी मैं उन समाधानों के बारे में पढ़ने के लिए दिलचस्प हूं जहां माइकल प्रेवेकी के जवाब में, एनम / संपत्ति का नाम अलग है ।
EDIT2 (मई 2010): मेरा पसंदीदा समाधान एनम प्रकार के नाम का बहुवचन करना है, जैसा कि क्रिस एस। लेकिन मैं इसे ज्यादा से ज्यादा पसंद करने आया हूं। मैं अब इसे नियमित रूप से enums के लिए भी उपयोग करते हैं।