मेरे enum में निम्न मान हैं:
निजी enum PublishStatusses {NotCompleted, Completed, त्रुटि};
मैं इन मानों को एक उपयोगकर्ता के अनुकूल तरीके से आउटपुट करने में सक्षम होना चाहता हूं।
मुझे स्ट्रिंग से दूसरे मूल्य पर फिर से जाने में सक्षम होने की आवश्यकता नहीं है।
मैं इस विशेषता का प्रयोग System.ComponentModel नामस्थान से करता हूँ। बस enum को सजाने के लिए:
निजी enum PublishStatusValue {[विवरण ("पूर्ण नहीं")] NotCompleted, Completed, Error};
फिर इसे पुनर्प्राप्त करने के लिए इस कोड का उपयोग करें:
सार्वजनिक स्थिर स्ट्रिंग GetDescription & lt; T & gt; (यह T enumerationValue) जहां T: struct {प्रकार प्रकार = enumerationValue .GetType (); यदि (! Type.IsEnum) {नया तर्क अभिव्यक्ति ("गणनवॉल एनोम प्रकार का होनी चाहिए", "गणणव्यू"); } // एक संभावित दोस्ताना नाम के लिए वर्णन विवरण प्राप्त करने की कोशिश करता है // enum MemberInfo [] memberinfo = type.GetMember (enumerationValue.ToString ()) के लिए; अगर (memberInfo! = Null & amp; सदस्यइनफ़ो.लेन्गै & gt; 0) {वस्तु [] attrs = memberInfo [0] .GetCustomAttributes (typeof (DescriptionAttribute), गलत); यदि (attrs! = नल और amp; attrs.Length & gt; 0) {// विवरण मान वापसी ((विशेषताएँ) attrs [0]) को हटा दें। }} // यदि हमारे पास कोई विवरण विशेषता नहीं है, तो बस enum return enumerationValue.ToString () के ToString को वापस करें; }
Comments
Post a Comment