通用的方法获取枚举内各值的描述
来源:互联网 发布:软件自动化测试招聘 编辑:程序博客网 时间:2024/06/05 15:13
1.定义枚举时直接用中文
由于VS对中文支持的很不错,所以很多程序员都采用了此方案.
缺点:1.不适合多语言 2.感觉不太完美,毕竟大部分程序员大部分代码都使用英文
2.利用自定义属性定义枚举值的描述(博客园-大尾巴狼)
首先多谢两位给我的提示,发现在上个版本中所存在的问题:
一、枚举类型的各个枚举值,应该属于“字段”。
二、在获得枚举自定义属性时,只获得枚举类型,而不没有获得所属字段的自定义属性。
完整工程下载
现在解决方案如下:
枚举定义:
[EnumDescription("订单、订单中的产品、产品项的状态。")]
public enum OrderStateEnum
{
[EnumDescription("未开始")]
Ready = 0,
public enum OrderStateEnum
{
[EnumDescription("未开始")]
Ready = 0,
[EnumDescription("进行中")]
Processing,
Processing,
[EnumDescription("等待中")]
Waiting,
Waiting,
[EnumDescription("取消")]
Canceled,
Canceled,
[EnumDescription("完成")]
Finished
}
Finished
}
代码访问:
0、获得枚举类型的文字描述
string txt = EnumDescription.GetEnumText(typeof(OrderStateEnum));
1、获得某个枚举值的文字描述:
string txt = EnumDescription.GetFieldText(OrderStateEnum.Processing)
2、获得枚举中各个字段的定义数组:
EnumDescription[] des = EnumDescription.GetFieldTexts(typeof(OrderStateEnum))
如果需要排序,通过他的另一个重载 public static EnumDescription[] GetFieldTexts( Type enumType, SortType sortType )
3、绑定到下拉框:
comboBox1.DataSource = EnumDescription.GetFieldTexts(typeof(OrderStateEnum));
comboBox1.ValueMember = "EnumValue";
comboBox1.DisplayMember = "EnumDisplayText";
comboBox1.ValueMember = "EnumValue";
comboBox1.DisplayMember = "EnumDisplayText";
comboBox1.SelectedValue = (int)OrderStateEnum.Finished; //选中值
- 通用的方法获取枚举内各值的描述
- 获取枚举的描述信息
- 根据枚举值获取枚举的描述
- 获取Enum枚举值描述的几法方法
- 获取Enum枚举值描述的几法方法
- 获取Enum枚举值描述的几法方法
- 获取Enum枚举值描述的几法方法
- C# 获取枚举的描述值
- 获取枚举类型的描述description
- C#实现获取枚举的描述
- .NET获取枚举DescriptionAttribute描述信息性能改进的多种方法
- C# 枚举的获取方法
- 枚举的创建和描述文本的获取
- 通用的枚举类型
- 从枚举值获取对应的文本描述
- 根据枚举类型值获取改值的描述信息
- 如何获取方法参数的描述信息
- C# 获取枚举的 键名称,值 和描述 遍历枚举
- Question From QA/TEST Team
- 网站优化seo贵在坚持
- 额外域控变更ip地址
- 检查字符串是否是整数
- 兔年2011新年快乐
- 通用的方法获取枚举内各值的描述
- js 表格排序 支持 中英文 , 可选择不排序的行
- AspriseOCR图像智能字符识别技术_遗憾的是不支持中文
- 我们经常喜欢说的
- SSH框架与DWR整合
- 活动目录Users和Computers默认位置变更
- 如何双击*.dsw 文件快速打开VC++6.0工程而不覆盖原工程
- 迭代和递归计算分数
- Actionscript3.0的ArrayCollection对象的数据绑定