अच्छा जवाब यहां दिए गए हैं। सुझाए गए उत्तर पर विस्तार से यह है कि यदि आप एनम मान दिए गए एनम मान प्राप्त करना चाहते हैं तो यह है। इस प्रकार
public enum e_BootloadSource : byte
{
[EnumMember]
[Display(Name = "UART")]
[Description("UART_BL_RDY4RESET")]
UART = 1,
[EnumMember]
[Display(Name = "SD")]
[Description("SD_BL_RDY4RESET")]
SD = 2,
[EnumMember]
[Display(Name = "USB")]
[Description("USB_BL_RDY4RESET")]
USB = 3,
[EnumMember]
[Display(Name = "Fall Through Mode")]
[Description("FALL_THRGH_BL_RDY4RESET")]
FALL_THROUGH_MODE = 4,
[EnumMember]
[Display(Name = "Cancel Bootload")]
[Description("BL_CANCELED")]
CANCEL_BOOTLOAD = 5,
}
उपयोग:: मैं इस परीक्षण किया नहीं किया, लेकिन यह काम हो सकता है:
Enum
foreach(e_BootloadSource BLSource in Enum.GetValues(typeof(e_BootloadSource)))
{
if (BLSource.GetDescription() == inputPieces[(int)SetBLFlagIndex.BLSource])
{
newMetadata.BootloadSource = BLSource;
}
}
नोट inputpieces विशुद्ध रूप से एक स्ट्रिंग सरणी है और newMetadata.BootloadSource e_BootloadSource है।
आप क्या हासिल करना चाहते हैं? यह नहीं है कि कैसे enums का उपयोग किया जाता है। आपकी 'if' स्थिति समझ में नहीं आती है - अगर यह काम करता है तो यह हमेशा' सत्य 'वापस आ जाएगा, क्योंकि' name1' को इसके मूल्य के रूप में 'abc' घोषित किया गया था। एक उपयोगी स्थिति 'if (var == myenum.name1)' होगी। –
हां इस तरह .. क्षमा करें – Darshana
संभावित डुप्लिकेट [सी # में स्ट्रिंग्स के साथ एसोसिएटिंग एनम्स] (http://stackoverflow.com/questions/630803/associating-enums-with-strings-in-c-sharp) – nawfal