`
njmnjx
  • 浏览: 232010 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

枚举操作类

阅读更多
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Reflection;
public static class EnumHelper<T>
{
    public static string GetDescription(Enum en)
    {
        Type type = en.GetType();

        MemberInfo[] memInfo = type.GetMember(en.ToString());

        if (memInfo != null && memInfo.Length > 0)
        {
            object[] attrs = memInfo[0].GetCustomAttributes(typeof(DescriptionAttribute), false);

            if (attrs != null && attrs.Length > 0)
            {
                return ((DescriptionAttribute)attrs[0]).Description;
            }
        }

        return en.ToString();
    }

    public static T Parse(string value)
    {
        return (T)Enum.Parse(typeof(T), value);
    }

    public static IList<T> GetValues()
    {
        IList<T> list = new List<T>();
        foreach (object value in Enum.GetValues(typeof(T)))
        {
            list.Add((T)value);
        }

        return list;
    }

    public static Dictionary<T, string> GetValueDescriptionDictionary()
    {
        Dictionary<T, string> dictionary = new Dictionary<T, string>();
        foreach (object value in Enum.GetValues(typeof(T)))
        {
            dictionary.Add((T)value, GetDescription((Enum)value));
        }
        return dictionary;
    }

}
分享到:
评论

相关推荐

    EnumHelper枚举操作类

    功能:枚举操作类,枚举类型创建,转换 * 2. 作者:杨磊 * 3. 创建日期:2008-1-30 * 4. 最后修改日期:2008-11-10 **/ using System; using System.Collections.Generic; using System.Text; using System....

    通过枚举反向给实体类赋值

    通过枚举反向给实体类赋值工具类,减少表单提交时通过request.getParameter(name)方式获取提交值的重复操作

    Java手动方式创建枚举类示例

    主要介绍了Java手动方式创建枚举类,结合实例形式分析了java创建枚举类的方法及相关操作技巧,需要的朋友可以参考下

    java枚举实例代码

    java枚举小例子,简单了解枚举的用法,适合初学者使用。

    Nt操作系统用户:枚举、添加、删除

    Nt系统操作系统用户:枚举、添加、删除谁有获取win2000域用户的代码?

    QML 中使用 C++定义的枚举类型

    如果要在 QML使用 C++中定义的类型,有些数据类型是是可以直接使用的,如常见的 int,但是还有一些相对特殊的类型就需要做些特定的操作才可以使用了。 博客地址:...

    枚举类型与构造函数.doc

    本文档为自己手动书写样例,涉及到java项目中经常用到的枚举类型,使用枚举类型有利于快速引起区分对应字典键值对

    线程枚举、注册表实现类、农历转换、托盘实现

    1、实现系统的所有线程枚举 2、实现windows的重启、关机API操作 3、对相关注册表操作的封装实现类 4、实现对农历转换类 5、托盘图片功能实现。

    java枚举类的属性、方法和构造方法应用实战

    主要介绍了java枚举类的属性、方法和构造方法应用,结合实例形式分析了java枚举类的定义、构造及相关应用操作技巧,需要的朋友可以参考下

    易语言SQLite3数据库操作类模块

    易语言SQLite3数据库操作类模块源码,SQLite3数据库操作类模块,取数据库句柄,置数据库句柄,是否已连接,连接,关闭,置密码,错误代码,最后错误,引擎版本,设超时时间,执行SQL,取表内容,枚举表,枚举索引,枚举视图,枚举...

    AutoCAD 基础操作类

    AutoCAD基础操作类,简单封装了AutoCAD实例,关闭、退出、线条样式枚举

    易语言工具模块之网页操作类2

    易语言工具模块之网页操作类2 集成很多命令,比1好多了,大家看那看那

    易语言得力注册表操作类模块

    易语言得力注册表操作类模块源码,得力注册表操作类模块,取根句柄,取根名称,取项目句柄,取目标键名,取字节集文本,Ansi2Unicode,Unicode2Ansi,汇编调用子程序,是否64位,是否存在,导入文件,导入文本,删除,枚举,枚举子键...

    C# 各种通用类集合

    07.枚举操作辅助类 MyEnumHelper 08.Excel操作辅助类(无需VBA引用) MyExcelHelper.cs 09.打开、保存文件对话框操作辅助类 MyFileDialogHelper.cs 10.常用文件操作辅助类 MyFileHelper.cs 11.键盘操作辅助类,提供...

    Java包含抽象方法的枚举类示例

    主要介绍了Java包含抽象方法的枚举类,结合实例形式分析了Java包含抽象方法的枚举类实现方法与相关操作技巧,需要的朋友可以参考下

    超级多的C#辅助类大全

    10. Excel操作类 11. FTP操作类 12. H5-微信 13. Html操作类 14. INI文件读写类 15. IP辅助类 16. Javascript 17. Json 18. JSON操作 19. JS操作 20. Lib 21. Mime 22. Net 23. NPOI 24. obj 25. ...

    C#常用公共类源码(100多个)可以直接使用.rar

    ,加密解密,压缩解压缩,各种验证帮助类,图片,图片操作类,图片验证码,处理多媒体的公共类,处理枚举类,字符串,对象转换处理,帮助文档,序列化,异步线程,弹出消息类 ,数据展示控件绑定数据类,文件操作类,日历,日志,时间戳...

    c# EnumHelper枚举常用操作类

    在项目中需要把枚举填充到下拉框中,所以使用统一的方法实现,测试代码如下,需要的朋友可以参考下

Global site tag (gtag.js) - Google Analytics