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

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

 /// <summary>
/// 自定义属性
/// </summary>
[AttributeUsage(AttributeTargets.Field, AllowMultiple = false)]
public sealed class EnumDescriptionAttribute : Attribute
{
private string description;
public string Description { get { return description; } } public EnumDescriptionAttribute(string description)
: base()
{
this.description = description;
}
} /// <summary>
/// 获取枚举字符串
/// </summary>
public static class EnumHelper
{
public static string GetDescription(Enum value)
{
if (value == null)
{
throw new ArgumentException("value");
}
string description = value.ToString();
var fieldInfo = value.GetType().GetField(description);
var attributes =
(EnumDescriptionAttribute[])fieldInfo.GetCustomAttributes(typeof(EnumDescriptionAttribute), false);
if (attributes != null && attributes.Length > )
{
description = attributes[].Description;
}
return description;
}
}
 enum Week
{
[EnumDescription("星期一")]
Monday,
[EnumDescription("星期二")]
Tuesday
} //下面打印结果为: 星期一
Console.WriteLine(EnuHelper.GetDescription(Week.Monday))

转载:http://www.cnblogs.com/xjxz/p/4649016.html

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

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

    下面的手段是使用给枚举项打标签的方式,来返回字符串 下面分别定义一个属性类,和一个枚举帮助类 [AttributeUsage(AttributeTargets.Field,AllowMultiple  ...

  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. ElasticSearch5.3安装head插件及连接ElasticSearch

    1. 安装插件head # 去github上下载head git clone git://github.com/mobz/elasticsearch-head.git # 由于head基于nodejs ...

  2. OSSIM架构与组成综述

    OSSIM布道师 李晨光 一.背景 如果运维工程师手里没有高效的管理工具支持,就很难快速处理故障.市面上有很多运维监控工具,例如商业版的 Solarwinds.ManageEngine以及WhatsU ...

  3. 数据库表名最大长度(Oracle=30;SqlServer=128;)

    1.Oracle 数据库 (支持30个字符) --30个字符 CREATE TABLE Tab_Test1234567890abcdefghijkl( ts int ); --select * fro ...

  4. LeetCode: Validate Binary Search Tree 解题报告

    Validate Binary Search Tree Given a binary tree, determine if it is a valid binary search tree (BST) ...

  5. kali kvm Requested operation is not valid: network 'default' is not active

    安装时候参考的:http://www.ilanni.com/?p=6101 今天安装完kvm,满是幸福的装了个xp,重启后出现了一个错误 Requested operation is not vali ...

  6. Java多线程系列——深入重入锁ReentrantLock

    简述 ReentrantLock 是一个可重入的互斥(/独占)锁,又称为“独占锁”. ReentrantLock通过自定义队列同步器(AQS-AbstractQueuedSychronized,是实现 ...

  7. 【Unity】JsonUtility解析集合(collections)类型(List)

    Unity自带的Json解析工具类JsonUtility居然没有API用于解析集合类型,也太鬼扯了吧. https://stackoverflow.com/questions/36239705/ser ...

  8. WPF使用socket实现简单聊天软件

    公司网络限制不能传文件,先贴部分代码 控件添加到界面就行,界面随意布局 项目结构: 1.解决方案 1.1. Client 1.2. Server Client: <Window x:Class= ...

  9. asp.net cookie的操作

    //写入 protected void Button2_Click(object sender, EventArgs e)     {         HttpCookie cookie=new Ht ...

  10. 网页QQ弹出

    <script language="javascript"> function cdyht(){ window.location.href='tencent://Mes ...