利用DescriptionAttribute实现枚举字符串
时间:2014-01-24 19:14:41
收藏:0
阅读:365
我们知道定义枚举时是不允许带空格等符号的,这样就不利于进行字符串对比。当然可以通过给枚举添加DescriptionAttribute,然后通过fieldinfo读取DescriptionAttribute来获取字符串。
以下是例子
先定义枚举
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21 |
/// <summary> /// Campaign Mode /// </summary> public
enum
CampaignModeEnum { /// <summary> /// Inbound /// </summary> [DescriptionAttribute( "Inbound" )] Inbound, /// <summary> /// Outbound Preview /// </summary> [DescriptionAttribute( "Outbound Preview" )] Outbound_Preview, /// <summary> /// Outbound Predictive /// </summary> [DescriptionAttribute( "Outbound Predictive" )] Outbound_Predictive } |
编写获取DescriptionAttribute的类
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16 |
public
static
class
EnumMethod { public
static
string
StringValue(Enum value) { FieldInfo fi = value.GetType().GetField(value.ToString()); DescriptionAttribute[] attributes = (DescriptionAttribute[])fi.GetCustomAttributes( typeof (DescriptionAttribute), false ); if
(attributes.Length > 0) { return
attributes[0].Description; } else { return
value.ToString(); } } } |
这样调用就可以啦!
EnumMethod.StringValue(CampaignModeEnum.Outbound_Predictive);
原文:http://www.cnblogs.com/colder/p/3532135.html
评论(0)