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

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

  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为什么要配置环境变量,怎样配置

    自己总结些再加抄点:安装JDK后要配置环境变量,主要有三个:1 JAVA_HOME ->为JDK的安装目录,如:F:\JAVA\jdk1.6.0_042 CLASSPATH ->到哪里找需 ...

  2. Android 常见问题收集 (持续更新)

    gridview中设置item的高度. 一.BaseAdapter中的getView中设置 AbsListView.LayoutParams param = new AbsListView.Layou ...

  3. python中getattr函数 hasattr函数

    hasattr(object, name)作用:判断对象object是否包含名为name的特性(hasattr是通过调用getattr(ojbect, name)是否抛出异常来实现的).示例: > ...

  4. Spark Streaming源码解读之Receiver生成全生命周期彻底研究和思考

    本期内容 : Receiver启动的方式设想 Receiver启动源码彻底分析 多个输入源输入启动,Receiver启动失败,只要我们的集群存在就希望Receiver启动成功,运行过程中基于每个Tea ...

  5. C++中的RTTI机制解析

    RTTI RTTI概念 RTTI(Run Time Type Identification)即通过运行时类型识别,程序能够使用基类的指针或引用来检查着这些指针或引用所指的对象的实际派生类型. RTTI ...

  6. PYTHON入门知识

    基本数据类型 注:查看对象相关成员 var,type,dir 一.整数 如: 18.73.84 每一个整数都具备如下功能: class int(object): """ ...

  7. 41. 这张表lbdeveloplog可以查看各个对象的提交情况,包括是哪个IP提交的

    lbdeveloplog 这张表lbdeveloplog可以查看各个对象的提交情况,包括是哪个IP提交的

  8. CentOS6.5 Openssl版本升级

    CentOS6.5  Openssl 升级: 第一步:在openssl官网(https://www.openssl.org/)下载最新版 Ps:个人使用的是openssl-1.0.1u.tar.gz版 ...

  9. HeartBeat的一些介绍和功能上的一些总结

    HeartBeat的作用: 通过HeartBeat,可以将资源(IP以及程序服务等资源)从一台已经故障的计算机快速转移到另一台正常运转的机器上继续提供服务,一般称之为高可用的服务.在实际的生产应用场景 ...

  10. ---解决git pull 后出现冲突的解决方法

    0. git statusOn branch masterYour branch and 'origin/master' have diverged,and have 1 and 3 differen ...