如何把枚举元素的描述输出(不使用反映和扩展方法(3.5才支持呢)

简介:

这比通过使用的扩展方法来实现枚举描述要复杂一点,就是代码多了一点,原理很简单,就是定义一个枚举类型,然后定义一个字典,字典为<枚举,字符>,然后为它赋值即可,代码如下:

namespace Entity.Commons
{
    public enum Status
    {
        Normal = 100,
        PendingApprove = 300,
        Deleted = 400,
        Blocked = 500,
    }
    /// <summary>
    /// 状态描述
    /// </summary>
    public class StatusDescribe
    {
        /// <summary>
        /// 状态通用字典
        /// </summary>
        public static Dictionary<Status, string> StatusList = new Dictionary<Status, string>
        {
            {Status.Normal,"正常"},
            {Status.PendingApprove,"待审核"},
            {Status.Deleted,"删除"},
            {Status.Blocked,"禁用"},
            
         };
    }
 
}

调用的时间就简单了,不用在switch了,直接输出即可

Entity.Commons.StatusDescribe.StatusList[(Entity.Commons.Status)((int)i.Status)]

目录
相关文章
|
8月前
|
C++
【C++】istream类型对象转换为逻辑条件判断值
【C++】istream类型对象转换为逻辑条件判断值
【C++】istream类型对象转换为逻辑条件判断值
|
7月前
详细解读COM中集合和枚举器笔记(2)枚举器内部实现
详细解读COM中集合和枚举器笔记(2)枚举器内部实现
26 0
|
7月前
|
编译器 C语言
C语言枚举:深入探索下标默认值、自定义值及部分自定义情况
C语言枚举:深入探索下标默认值、自定义值及部分自定义情况
|
8月前
2020-10-10 数组和对象的区分方法
2020-10-10 数组和对象的区分方法
|
自然语言处理 安全 Java
枚举常用方法总结
枚举常用方法总结
88 0
|
Java 编译器
重载的方法能否根据返回类型进行区分?
重载的方法不能根据返回类型进行区分。方法的重载是基于方法名称和参数列表来进行区分的,与返回类型无关。这是因为在Java中,编译器在确定要调用哪个重载方法时,仅根据传递给方法的参数来进行决策。
393 0
对象定义-解构-枚举属性遍历以及对象内函数
对象定义-解构-枚举属性遍历以及对象内函数
80 0
lodash创建自身和继承的可枚举属性的值为数组
lodash创建自身和继承的可枚举属性的值为数组
92 0
|
开发者
枚举(枚举中定义其它结构)|学习笔记
快速学习 枚举(枚举中定义其它结构)
123 0
|
Android开发
编程点滴-关于boolean常量在判断中的位置
boolean常量在判断中的位置的不同,对于最终生成的代码有微妙的影响
2044 0