दिलचस्प पोस्ट
आप दो आयामी सरणी कैसे घुमाएं? जीआईएफ / जेपीजी / पीएनजी / पीडीएफ के रूप में एचटीएमएल कैनवास कैप्चर करें? 64-बिट में एक संयुक्त गुणा और डिवाइड ऑपरेशन करने का सबसे सटीक तरीका है? PHP को महीने के लिए सप्ताह की संख्या मिलती है क्या मैं SQL सर्वर से कुछ उपयोगकर्ताओं को प्रमाणित करने के लिए ADFS 2.0 का उपयोग कर सकता हूं? आर में कुशलता से कार्यान्वयन कैसे करें ट्रांज़ेज़ / अनझिप फ़ंक्शन (ज़िप के व्युत्क्रम)? <Ui: दोहराने> <h: inputText> का उपयोग करके एक सूची <स्ट्रिंग> मॉडल मान अपडेट नहीं करता है क्या "\ d" में regex एक अंक का मतलब है? एचटीएमएल 5 में इसका क्या मतलब है जब कोई विशेषता बुलियन विशेषता है? एंड्रॉइड: फ़ोकस एक संपादन टेक्स्ट पर है, तो स्वचालित रूप से नरम कीबोर्ड दिखाएं डब्लूसीएफ – आने वाले संदेशों (65536) के लिए अधिकतम संदेश आकार का कोटा पार कर गया है? बैच: उत्पादन को पार्स करने के दौरान चर ओवरराइटिंग दुर्व्यवहार को कैसे ठीक करें क्या एक तरह से सरणी के रूप में संपूर्ण कुंजी को एक सिंगल कुंजी के रूप में रखने के बजाय अलग-अलग रिकॉर्ड के रूप में सरणी के तत्वों का इलाज करने के लिए क्रॉसफिल्टर को बताने का कोई तरीका है? मैं किसी विशेष (ईमेल) डोमेन से किसी भी उपयोगकर्ता को फ़ायरबेज डेटाबेस कैसे लॉक कर सकता हूं?

इसकी विवरण विशेषता द्वारा एक एएनयूम मान ढूँढना

यह एक छोटे से उल्टा सामना करना पड़ सकता है, लेकिन मैं क्या करने में सक्षम होना चाहता हूँ एक enum से इसके विवरण विशेषता द्वारा मिल जाता है।

इसलिए, अगर मेरे पास एक एएनआईम घोषित किया गया है जो निम्नानुसार है:

enum Testing { [Description("David Gouge")] Dave = 1, [Description("Peter Gouge")] Pete = 2, [Description("Marie Gouge")] Ree = 3 } 

मैं "पीटर गौग" स्ट्रिंग की आपूर्ति करके 2 वापस पाने में सक्षम होना चाहता हूं

एक शुरुआती बिंदु के रूप में, मैं एनाम फ़ील्ड के माध्यम से पुनरावृति कर सकता हूं और फ़ील्ड को सही विशेषता से प्राप्त कर सकता हूं:

 string descriptionToMatch = "Peter Gouge"; FieldInfo[] fields = typeof(Testing).GetFields(); foreach (FieldInfo field in fields) { if (field.GetCustomAttributes(typeof(DescriptionAttribute), false).Count() > 0) { if (((DescriptionAttribute)field.GetCustomAttributes(typeof(DescriptionAttribute), false)[0]).Description == descriptionToMatch) { } } } 

लेकिन फिर मैं उस आंतरिक रूप में फंस गया हूँ कि अगर उस आंतरिक में क्या करना है यह भी सुनिश्चित नहीं है कि यह पहली जगह में जाने का तरीका है।

Solutions Collecting From Web of "इसकी विवरण विशेषता द्वारा एक एएनयूम मान ढूँढना"

यहाँ वर्णित एक्सटेंशन विधि का उपयोग करना:

 Testing t = Enum.GetValues(typeof(Testing)) .Cast<Testing>() .FirstOrDefault(v => v.GetDescription() == descriptionToMatch); 

अगर कोई मिलान मूल्य नहीं मिल रहा है, तो यह (Testing)0 (आप इस मान के लिए किसी None सदस्य को परिभाषित करना चाहेंगे)

 return field.GetRawConstantValue(); 

यदि आवश्यक हो तो आप निश्चित रूप से टेस्टिंग में वापस डाल सकते हैं

ठीक है, सभी टाइप करने के बाद मुझे लगता है कि यह शुरुआत में ठीक एक निर्णय का मामला है जिससे मुझे गलत रास्ते से नीचे चला गया। Enum के साथ शुरू करने के लिए सही तरीके से लग रहा था, लेकिन एक साधारण Dictionary<string, int> पर्याप्त होगा और साथ में काम करने के लिए बहुत आसान हो जाएगा!