标题可能无法表达我的本意。比如,有这样一个枚举:
public enum MyChoice{MyFirstChoice = 0,MySecondChoice =1,MyThirdChoice = 2}
数据库中,某表某字段保存值为"0,1,2",在显示的时候,我们希望是"第一个选择,第二个选择,第三个选择"。如何做呢?
可以为枚举项上面标注自定义特性。先自定义一个特性如下:
public class EnumDisplayNameAttribute : Attribute{PRivate string _displayName;public EnumDisplayNameAttribute(string displayName){_displayName = displayName;}public string DisplayName{get{return _displayName;}}}
然后,把自定义特性标注放到枚举项上去。
public enum MyChoice{[EnumDisplayName("我的第一个选择")]MyFirstChoice = 0,[EnumDisplayName("我的第二个选择")]MySecondChoice =1,[EnumDisplayName("我的第三个选择")]MyThirdChoice = 2}
现在,需要一个帮助方法,能读出枚举项上的自定义特性EnumDisplayName。
public class EnumExt{/// <summary>/// 获取枚举项的注释/// </summary>/// <param name="e">枚举项</param>
新闻热点
疑难解答