枚举类型转换成字符串
使用枚举类型默认的ToString()方法,往往不能得到我们想要的输出的字符串。
如何方便的定义枚举类型中的每个值代表的字符串输出呢?
可以使用DescriptionAttribute, 写上想得到的字符串输出。
enum Direction {[Description("Rover is facing to UP (Negtive Y)")]UP = 1,[Description("Rover is facing to DOWN (Positive Y)")]DOWN = 2,[Description("Rover is facing to RIGHT (Positive X)")]RIGHT = 3,[Description("Rover is facing to LEFT (Negtive X)")]LEFT = 4 };
使用下面的方法,来得到对应项的字符串。
/// <summary>/// Contains methods for working with <see cref="Enum"/>./// </summary>public static class EnumHelper{/// <summary>/// Gets the specified enum value's description./// </summary>/// <param name="value">The enum value.</param>/// <returns>The description or <c>null</c>/// if enum value doesn't have <see cref="DescriptionAttribute"/>.</returns>public static string GetDescription(this Enum value){var fieldInfo = value.GetType().GetField(value.ToString());var attributes = (DescriptionAttribute[])fieldInfo.GetCustomAttributes(typeof(DescriptionAttribute),false);return attributes.Length > 0? attributes[0].Description: null;}/// <summary>/// Gets the enum value by description./// </summary>/// <typeparam name="EnumType">The enum type.</typeparam>/// <param name="description">The description.</param>/// <returns>The enum value.</returns>public static EnumType GetValueByDescription<EnumType>(string description){var type = typeof(EnumType);if (!type.IsEnum)throw new ArgumentException("This method is destinated for enum types only.");foreach (var enumName in Enum.GetNames(type)){var enumValue = Enum.Parse(type, enumName);if (description == ((Enum)enumValue).GetDescription())return (EnumType)enumValue;}throw new ArgumentException("There is no value with this description among specified enum type values.");}}
进一步了解.net中的Attribue
转载于:https://www.cnblogs.com/JustRun1983/archive/2012/06/22/2559073.html
枚举类型转换成字符串相关推荐
- python转化成字符串_如何利用Python将其他数据类型转换成字符串类型
Python设计语言中有一类常用的数据类型:字符串数据类型.字符串数据类型定义的变量可以使用双引号或单引号将字符括起来,除了字符串数据类型,还有其他的数据类型,如整型.布尔型.列表.字典.元组.可以将 ...
- linux中数字转换成字符,各种数字类型转换成字符串型
各种数字类型转换成字符串型--JAVA 各种数字类型转换成字符串型: String s = String.valueOf( value); // 其中 value 为任意一种数字类型. 字符串型转换成 ...
- 数字类型转换成字符串类型并逆序输出
比如将a = 123456转换成字符串类型,并逆序输出为char b = 654321 具体实现如下: #include <stdio.h> #include <conio.h> ...
- oracle long类型转换成字符串_数值类型在计算机中的保存形式以及类型转换的思考和尝试...
数值分为整型和浮点型两大块.不管是哪种类型,在计算机中都是按二进制形式存储,只有0 和1 两种符号.基本数据类型byte .short .int .long .float .double .常量有整型 ...
- SQL Server 使用CONVERT()函数实现日期类型转换成字符串类型的日期格式,支持多种日期格式
1 使用详解 CONVERT() 说明:把日期转换为新数据类型的通用函数,可以用不同的格式显示日期/时间数据. 语法: CONVERT(data_type(length),data_to_be_con ...
- java数字转换成字符串
各种数字类型转换成字符串型: String s = String.valueOf( value); // 其中 value 为任意一种数字类型. 字符串型转换成各种数字类型: String s = & ...
- php将变量转成字符串类型
strval 将变量转成字符串类型. 语法: string strval(mixed var); 返回值: 字符串 函数种类: PHP 系统功能 内容说明: 本函数可将数组及类之外的变量类型转换成字符 ...
- php 将整数改成字符串,php怎么将整型转为字符串
php中整型转为字符串的方法:1.使用强制类型转换,在要转换的整型变量之前加上用括号括起来的目标类型"(string)"即可:2.使用strval()函数,语法格式"st ...
- 前端 js 将字符串类型转换成其他类型
方法一 eval(argStr) 函数,一般传入任何参数都能强转成对应类型.如果想把参数先转成字符串再使用 eval 转成真实类型,可以使用 String() 函数进行强转,String(argObj ...
最新文章
- JavaScript instanceof 运算符深入剖析
- 一篇文章让你轻松搞定SpringBoot和SpringCloud之间的版本选择!!!
- linux红帽子桌面模式ftp,Linux操作系统配置Vsftp的方法
- 黑苹果挂载不了分区_让黑苹果变得更完美——BCM94532HMB无线蓝牙接力完美驱动!...
- linux 读取文件夹命令,Linux系统编程_1_文件夹读取(实现简单ls命令)
- ubuntu之apache正向代理及反向代理(ProxyPass\ProxyPassReverse)
- Go:获取命令行参数
- python将列表写入文件_Python将列表数据写入文件(txt, csv,excel)
- 常用 shell sql 命令
- CentOS向日葵安装
- NAL聚合包(STAP-A)
- python面向对象编程指南 豆瓣_Python面向对象编程
- 利用HTML+CSS,写出一个正方体并实现透视效果
- Heka的一些计算过程数据存放目录
- 商业智慧:创造奇迹的信件
- C语言实现大整数乘法
- 微信获取信息用户登录报错redirect_uri域名与后台配置不一致,错误码10003
- Psychtoolbox刺激呈现方式
- 计算机主机风扇声音大的原因,电脑电源风扇声音大的原因与解决办法
- 学Python该看什么书?12本精华好书推荐!
热门文章
- SpringCloudConfig配置中心读取本地配置文件
- Android开发笔记(十四)圆弧进度动画CircleAnimation
- Xshell上传文件【转】
- 学习OpenStack之(6):Neutron 深入学习之 OVS + GRE 之 Compute node 篇
- mysql数据的表分区二
- 迅雷BT下载电影99.9%不动原地循环解决方案
- oracle 10g 创建只读用户语法
- 中无法打开源文件_Safari浏览器无法打开,如何解决Safari在Big Sur中崩溃的情况...
- python文件操作的方法_python文件操作的方法介绍
- sftp 安全文件传输