如何把枚举元素的描述输出(不使用反映和扩展方法(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/C++ 中enum枚举量的介绍:介绍enum枚举量在C/C中的作用和使用方法
【C++基础语法 枚举】C/C++ 中enum枚举量的介绍:介绍enum枚举量在C/C中的作用和使用方法
112 2
|
8月前
|
C++
【C++】istream类型对象转换为逻辑条件判断值
【C++】istream类型对象转换为逻辑条件判断值
【C++】istream类型对象转换为逻辑条件判断值
|
7月前
详细解读COM中集合和枚举器笔记(2)枚举器内部实现
详细解读COM中集合和枚举器笔记(2)枚举器内部实现
26 0
|
7月前
|
编译器 C语言
C语言枚举:深入探索下标默认值、自定义值及部分自定义情况
C语言枚举:深入探索下标默认值、自定义值及部分自定义情况
|
Java 编译器
重载的方法能否根据返回类型进行区分?
重载的方法不能根据返回类型进行区分。方法的重载是基于方法名称和参数列表来进行区分的,与返回类型无关。这是因为在Java中,编译器在确定要调用哪个重载方法时,仅根据传递给方法的参数来进行决策。
393 0
lodash创建自身和继承的可枚举属性的值为数组
lodash创建自身和继承的可枚举属性的值为数组
92 0
|
Swift
Swift实用小册07:枚举的创建、使用、遍历、关联值、原始值
Swift实用小册07:枚举的创建、使用、遍历、关联值、原始值
437 0
Swift实用小册07:枚举的创建、使用、遍历、关联值、原始值
|
Java
【Groovy】集合遍历 ( 调用集合的 every 方法判定集合中的所有元素是否符合闭包规则 | =~ 运算符等价于 contains 函数 | 代码示例 )
【Groovy】集合遍历 ( 调用集合的 every 方法判定集合中的所有元素是否符合闭包规则 | =~ 运算符等价于 contains 函数 | 代码示例 )
216 0
【Groovy】集合遍历 ( 调用集合的 every 方法判定集合中的所有元素是否符合闭包规则 | =~ 运算符等价于 contains 函数 | 代码示例 )
|
Java
【Groovy】循环控制 ( Java 语法循环 | 默认的 IntRange 构造函数 | 可设置翻转属性的 IntRange 构造函数 | 可设置是否包含 to 的构造函数 | 0..9 简写 )(一)
【Groovy】循环控制 ( Java 语法循环 | 默认的 IntRange 构造函数 | 可设置翻转属性的 IntRange 构造函数 | 可设置是否包含 to 的构造函数 | 0..9 简写 )(一)
164 0
|
开发者
枚举(枚举中定义其它结构)|学习笔记
快速学习 枚举(枚举中定义其它结构)
123 0