下面的手段是使用给枚举项打标签的方式,来返回字符串

下面分别定义一个属性类,和一个枚举帮助类

  1. [AttributeUsage(AttributeTargets.Field,AllowMultiple = false)]
  2. public sealed class EnumDescriptionAttribute : Attribute
  3. {
  4. private string description;
  5. public string Description { get { return description; } }
  6. public EnumDescriptionAttribute(string description)
  7. : base()
  8. {
  9. this.description = description;
  10. }
  11. }
  1. public static class EnumHelper
  2. {
  3. public static string GetDescription(Enum value)
  4. {
  5. if (value == null)
  6. {
  7. throw new ArgumentException("value");
  8. }
  9. string description = value.ToString();
  10. var fieldInfo = value.GetType().GetField(description);
  11. var attributes =
  12. (EnumDescriptionAttribute[]) fieldInfo.GetCustomAttributes(typeof (EnumDescriptionAttribute), false);
  13. if (attributes != null && attributes.Length > 0)
  14. {
  15. description = attributes[0].Description;
  16. }
  17. return description;
  18. }
  19. }

使用举例:

  1. enum Week
  2. {
  3. [EnumDescription("星期一")]
  4. Monday,
  5. [EnumDescription("星期二")]
  6. Tuesday
  7. }
  8. //下面打印结果为: 星期一
  9. Console.WriteLine(EnuHelper.GetDescription(Week.Monday))

转-C#让枚举返回字符串的更多相关文章

  1. C# 让枚举返回字符串

    下面的手段是使用给枚举项打标签的方式,来返回字符串 分别定义一个属性类,一个枚举帮助类 /// <summary> /// 自定义属性 /// </summary> [Attr ...

  2. c# 枚举返回字符串操作

    //内部类public static class EnumHelper { public static string GetDescription(Enum value) { if (value == ...

  3. ajax的使用:(ajaxReturn[ajax的返回方法]),(eval返回字符串);分页;第三方类(page.class.php)如何载入;自动加载函数库(functions);session如何防止跳过登录访问(构造函数说明)

    一.ajax例子:ajaxReturn("ok","eval")->thinkphp中ajax的返回值的方法,返回参数为ok,返回类型为eval(字符串) ...

  4. mvc webapi 返回字符串自动加双引号

    来自:http://www.cnblogs.com/David-Huang/p/4351023.html 返回字符串,突然碰到双引号号问题,幸亏有人解决了. 返回XMLDocument类型,默认会解析 ...

  5. C# 枚举、字符串、值的相互转换

    using  System; class  Program{    public   enum  Color   {      Red  =   0xff0000 ,      Orange  =   ...

  6. SqlSever基础 Upper函数 返回字符串的大写形式

    镇场诗:---大梦谁觉,水月中建博客.百千磨难,才知世事无常.---今持佛语,技术无量愿学.愿尽所学,铸一良心博客.------------------------------------------ ...

  7. SqlSever基础 lower函数 返回字符串的小写形式

    镇场诗:---大梦谁觉,水月中建博客.百千磨难,才知世事无常.---今持佛语,技术无量愿学.愿尽所学,铸一良心博客.------------------------------------------ ...

  8. SpringMVC3的ResponseBody返回字符串(JSON)乱码问题解决

    近日做一个小项目,用spring mvc 做到ajax请求获取jquery ztree 异步获取树返回json对象时出现了乱码,试了各种办法,查了各种资料,一开始以为是数据库的编码有问题,经测试没问题 ...

  9. recurse_array_change_key_case()递规返回字符串键名全为小写或大写的数组

    //递归返回字符串键名全为小写或大写的数组function recurse_array_change_key_case(&$input, $case = CASE_LOWER){    if( ...

随机推荐

  1. java readLine()

    原文 虽然写IO方面的程序不多,但BufferedReader/BufferedInputStream倒是用过好几次的,原因是: 它有一个很特别的方法:readLine(),使用起来特别方便,每次读回 ...

  2. Linux进程启动过程简析

    朱宇轲 + 原创作品转载请注明出处 + <Linux内核分析>MOOC课程http://mooc.study.163.com/course/USTC-1000029000 今天,我们将通过 ...

  3. Linux学习笔记(一)

    1.正则表达式 \w 匹配任何字类字符,包括下划线.与“[A-Za-z0-9_]”等效. \W 与任何非单词字符匹配.与“[^A-Za-z0-9_]”等效. +    一次或多次匹配前面的字符或子表达 ...

  4. Soket编程

    基本概念 lIP地址 每台联网的电脑都有一个唯一的IP地址. 长度32位,分为四段,每段8位,用十进制数字表示,每段范围 0 ~ 255 特殊IP:127.0.0.1 用户本地网卡测试 版本:V4(3 ...

  5. js动画性能提升笔记

    JavaScript动画的性能并不亚于CSS动画.因此,如果使用了现代的动画库,例如Velocity,那么动画引擎的性能将不再是app的瓶颈,构成瓶颈的只有代码. 网络性能相关 动画是浏览器运行中资源 ...

  6. express html模板项目搭建

    初学express的亲们,估计要弄ejs和jade会比较烦躁,那就先html开始,简单笔记如下:   1.新建项目文件夹demotest 2.进入demotest    >express -e ...

  7. dedecms代码研究七

    简单回顾一下,前面我们首页动态文件index.PHP调用arc.partview.class.php来初始化首页模板 arc.partview.class.php通过SetTemplet调用DedeT ...

  8. Flask First Look

    from flask import Flask app = Flask(__name__) @app.route("/") def hello(): return "He ...

  9. web初学之jdbc连接数据库

    一直没有找到bug,初次接触jdbc找问题也是比较生疏.. 抛出异常: 出错点是没有在build path下导入mysql驱动jar包,发现问题,导入,成功解决问题.

  10. android开源框架android-async-http使用

    原文地址:http://www.open-open.com/lib/view/open1369637365753.html android-async-http开源框架可以是我们轻松的获取网络数据或者 ...