1、定义枚举

    /// <summary>
    /// 订单状态
    /// </summary>
    public enum OrderState
    {
        待支付 = 1,
        待处理 = 2,
        配货中 = 3,
        已发货 = 4,
        已取消 = 5,
        已签收 = 6,
        配送失败 = 7

    }
    public enum ImageFoderType
    {
        [Description("Temp")]
        临时图片 = 0,
        [Description("GoodsImg")]
        商品图片 = 1,
        [Description("GoodsColorImg")]
        颜色图片 = 2,
        [Description("banner")]
        广告图片 = 3,
        [Description("ShowImg")]
        晒单图片 = 4

    }

2、根据枚举值获取枚举名称

 public static string GetOrderState(int OrderStateId)
    {
        string _name = string.Empty;
        int _status = 0;
        if (OrderStateId > 0)
        {
            _status = OrderStateId.ToString().ToInt();
        }
        if (Enum.IsDefined(typeof(Enums.OrderState), _status))
        {
            _name = ((Enums.OrderState)_status).ToString();
        }
        return _name;

    }
 

3、获取枚举对应说明文字

/// <summary> 获得某个Enum类型的中文,从description中读取
    /// </summary>
    /// <param name="enumType">枚举的类型</param>
    /// <param name="val">传入的值</param>
    /// <returns></returns>
    public static string GetEnumCNNameFromEnum(Type enumType, object val)
    {
        string enumvalue = Enum.GetName(enumType, val);
        if (String.IsNullOrEmpty(enumvalue))
            return "";
        FieldInfo finfo = enumType.GetField(enumvalue);
        object[] cAttr = finfo.GetCustomAttributes(typeof(DescriptionAttribute), true);
        if (cAttr.Length > 0)
        {
            DescriptionAttribute desc = cAttr[0] as DescriptionAttribute;
            if (desc != null)
            {
                return desc.Description;
            }
        }
        return enumvalue;
    }

C# 枚举使用和对应说明获取实例的更多相关文章

  1. Java学习-009-文件名称及路径获取实例及源代码

    此文源码主要为应用 Java 获取文件名称及文件目录的源码及其测试源码.若有不足之处,敬请大神指正,不胜感激!源代码测试通过日期为:2015-2-3 00:02:27,请知悉. Java获取文件名称的 ...

  2. class_copyIvarList方法获取实例变量问题引发的思考

    在runtime.h中,你可以通过其中的一个方法来获取实例变量,那就是class_copyIvarList方法,具体的实现如下: - (NSArray *)ivarArray:(Class)cls { ...

  3. hiero.ui获取实例名的方法

    在hiero.ui中经常会通过hiero.ui.windowManager().windows()来获取当前QMainWindow中的QWidget子窗口,而这些子窗口是以实例对象的方式返回的,如果想 ...

  4. 解决Openstack Dashboard无法获取实例故障

    在部署配置完openstack基础服务以及dashboard后.登录页面发现很多功能都不正常,无法获取实例,也无法获取镜像. 查看日志 [root@openstack-controller-dev ~ ...

  5. Elasticsearch 2.3 (ELK)Geo_point绘图、日志Date时间获取实例

    前言:本文源于天天是雾霾新闻,我想利用kibana画一下一线城市雾霾图,希望对想利用经纬度在kibana绘图和获取日志本身时间绘图的同学有所帮助.有什么疑问或者纠错,可以给我发邮件 一.数据准备 为了 ...

  6. NET 获取实例所表示的日期是星期几

    获取日期枚举,可以根据switch去进行操作 DateTime.Now.DayOfWeek

  7. Enum 枚举值 (一) 获取描述信息

    封装了方法: public static class EnumOperate { public class BaseDescriptionAttribute : DescriptionAttribut ...

  8. 枚举Enum转换为List,获取枚举的描述

    代码: public class EnumberHelper { public static List<EnumberEntity> EnumToList<T>() { Lis ...

  9. C# 枚举类型的描述信息获取

    新建一个控制台方法,写好自己的枚举类型: 如图: 在里面添加获取描述的方法: 具体源码: 链接:http://pan.baidu.com/s/1nv4rGkp 密码:byz8

随机推荐

  1. Linux 下编译安装xCache命令速记

    注意要先确保/path-to-php/bin/php-config存在下载链接: http://pan.baidu.com/s/1hqh5pDM #解压xcache源代码tar -zvxf xcach ...

  2. 洛谷 [P1282] 多米诺骨牌

    这道题是一道背包问题,考虑一个背包, 显然如果我们直接设dp[i]表示前i个使差值最小所需的最少翻转次数,是具有后效性的. 所以我们将直接求最值,改为求某个值是否可行,这种求最值转变为求可行性的思想是 ...

  3. ZOJ 3229 Shoot the Bullet [上下界最大流]

    ZOJ 3229 Shoot the Bullet 题意:此生无悔入东方 上下界最大流 spj挂掉了我也不知道对不对,把代码放这里吧以后正常了可能会评测一下 #include <iostream ...

  4. poj1265&&2954 [皮克定理 格点多边形]【学习笔记】

    Q:皮克定理这种一句话的东西为什么还要写学习笔记啊? A:多好玩啊... PS:除了蓝色字体之外都是废话啊...  Part I 1.顶点全在格点上的多边形叫做格点多边形(坐标全是整数) 2.维基百科 ...

  5. Netty(一):入门篇

    匠心零度 转载请注明原创出处,谢谢! 说在前面 上篇文章对Netty进行了初探:Netty初探,主要介绍了下我们为什么需要学习netty.netty介绍等:本篇文章接着上篇文章的内容.本篇为了方便大家 ...

  6. 使用Openresty加快网页速度

    新年快乐~~~ 上一篇文章讲到使用多级缓存来减少数据库的访问来加快网页的速度,只是,仍旧没有"嗖"一下就加载出来的感觉,想再优化一下,优化代码什么的已经到了极限.上周无意中看到了o ...

  7. HTTP入门

    请求报文图解: 请求报文 图片 响应报文图解: 响应报文  

  8. CENTOS6.6下mysql5.6的源码安装

    本文来自我的github pages博客http://galengao.github.io/ 即www.gaohuirong.cn 1.下载:当前mysql版本到了5.6.28 http://dev. ...

  9. 微信小程序 sha1 实现密码加密

    在utils中的util.js 文件中增加 函数 实现 字符串转换为16进制加密后的字符串 function encodeUTF8(s) { var i, r = [], c, x; for (i = ...

  10. C/C++语言简介之编程开发

    一.编译器 GCC:GNU组织开发的开源免费的编译器. MinGW:Windows操作系统下的GCC. Clang:开源的BSD协议的基于LLVM的编译器. Visual C++:Microsoft ...