首页 > 学院 > 开发设计 > 正文

把数据库中有关枚举项值的数字字符串转换成文字字符串

2019-11-17 02:25:26
字体:
来源:转载
供稿:网友

数据库中有关枚举项值的数字字符串转换成文字字符串

标题可能无法表达我的本意。比如,有这样一个枚举:

    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>
发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表