2011-04-26 146 views
2

可能重复描述:
Get Enum from Description attributeC#枚举与不工作

大家好,我 有和枚举这样定义。

public enum SomeType { 
     [Description("One Value")] 
     One, 
     [Description("Two Value")] 
     Two, 
     [Description("Three Value")] 
     Three  
    } 

但是当我尝试解析字符串这样

SomeType test = (SomeType)Enum.Parse(typeof(SomeType), "Three Value"); 

我得到EXCETION“请求值‘三大价值’未找到”。这不应该工作吗?

谢谢

+0

你实际使用'SomeType'? – 2011-04-26 17:27:25

+0

[查看此条目。当然,你需要什么(http://stackoverflow.com/questions/424366/c-string-enums) – 2011-04-26 17:30:56

回答

1

不,不是。您可以通过枚举名称找到枚举(“一”,“二”,“三”),但不被描述(至少不是这样)。通过反射也许......

你可能想看看这个:How to get C# Enum description from value?

更新

看看@ KIvanov的评论看这里:据Get Enum from Description attribute

+0

真正分析应该承认名称(“三公”)。但不是说明。 – 2011-04-26 17:33:06

+0

我编辑了我的答案。我写了“不能”,但它是一个错字。 – 2011-04-26 17:34:05

1

我知道

SomeType test = (SomeType)Enum.Parse(typeof(SomeType), "Three"); 

会做你想做的事

+0

不是,OP想要通过描述获取Enum,而不是名称。顺便说一句,我没有downvote。 – 2011-04-26 17:45:55