如何把枚举元素的描述输出(不使用反映和扩展方法(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)]

目录
相关文章
|
5月前
详细解读COM中集合和枚举器笔记(2)枚举器内部实现
详细解读COM中集合和枚举器笔记(2)枚举器内部实现
21 0
|
5月前
|
编译器 C语言
C语言枚举:深入探索下标默认值、自定义值及部分自定义情况
C语言枚举:深入探索下标默认值、自定义值及部分自定义情况
|
存储 安全 Java
枚举的 7 种使用方法
枚举的 7 种使用方法
lodash创建自身和继承的可枚举属性的值为数组
lodash创建自身和继承的可枚举属性的值为数组
82 0
lodash创建自身可枚举属性的值为数组
lodash创建自身可枚举属性的值为数组
83 0
|
Swift
Swift实用小册07:枚举的创建、使用、遍历、关联值、原始值
Swift实用小册07:枚举的创建、使用、遍历、关联值、原始值
420 0
Swift实用小册07:枚举的创建、使用、遍历、关联值、原始值
|
Java
【Groovy】循环控制 ( Java 语法循环 | 默认的 IntRange 构造函数 | 可设置翻转属性的 IntRange 构造函数 | 可设置是否包含 to 的构造函数 | 0..9 简写 )(二·)
【Groovy】循环控制 ( Java 语法循环 | 默认的 IntRange 构造函数 | 可设置翻转属性的 IntRange 构造函数 | 可设置是否包含 to 的构造函数 | 0..9 简写 )(二)
149 0
|
Java
【Groovy】循环控制 ( Java 语法循环 | 默认的 IntRange 构造函数 | 可设置翻转属性的 IntRange 构造函数 | 可设置是否包含 to 的构造函数 | 0..9 简写 )(一)
【Groovy】循环控制 ( Java 语法循环 | 默认的 IntRange 构造函数 | 可设置翻转属性的 IntRange 构造函数 | 可设置是否包含 to 的构造函数 | 0..9 简写 )(一)
158 0
|
开发者
枚举(枚举中定义其它结构)|学习笔记
快速学习 枚举(枚举中定义其它结构)
119 0
|
Dart 索引
【Flutter】Dart 数据类型 List 集合类型 ( 定义集合 | 初始化 | 泛型用法 | 初始化后添加元素 | 集合生成函数 | 集合遍历 )
【Flutter】Dart 数据类型 List 集合类型 ( 定义集合 | 初始化 | 泛型用法 | 初始化后添加元素 | 集合生成函数 | 集合遍历 )
637 0