public enum UserType
{
不可用 = 0,
可用
}诸如此类。
{
不可用 = 0,
可用
}诸如此类。
解决方案 »
- http://www.csdn.net/首页 样式丢失了,我的浏览器是IE8.0
- CDO.Message ADODB.Stream 问题
- 标题栏如何加入链接
- DataGrid
- 正则表达式?字符串<++++>Name:abc Age:23<---->得到Name和Age值怎么写啊?
- 问个问题:组合键的实现
- web service 的客户端访问问题?
- 推荐基本学习C#的书吧,严重感谢!
- jmail 中如何删除信箱中的邮件
- c# webbrowser navigate 就只执行 这一个方法 内存不断增加 。。。。。苦恼啊
- winform智能开发 tabpage..
- C# Winform 多文本框联动
自定义描述
[Description( "测试 ")]
one,
以名词或名词词组的复数来命名标志枚举。简单枚举应以单数的名词或名词词组命名
我怎么感觉中文方便些?
比如说要输出到dropdownlistArray ar = Enum.GetValues(typeof(UserType));
foreach(object o in ar)
ddl.Items.Add(new ListItem(o.ToString(), Convert.ToInt16(o).ToString()));总比定义System.ComponentModel.Description,
再用下面这种方法去取要方便些吧。
/// <summary>
/// 获取枚举值的详细文本
/// </summary>
/// <param name="e"></param>
/// <returns></returns>
public static string GetEnumDescription(object e)
{
//获取字段信息
System.Reflection.FieldInfo[] ms = e.GetType().GetFields();
Type t = e.GetType();
foreach(System.Reflection.FieldInfo f in ms)
{
//判断名称是否相等
if(f.Name != e.ToString())continue; //反射出自定义属性
foreach(Attribute attr in f.GetCustomAttributes(true))
{
//类型转换找到一个Description,用Description作为成员名称
System.ComponentModel.DescriptionAttribute dscript = attr as System.ComponentModel.DescriptionAttribute;
if(dscript != null)
return dscript.Description;
} }
//如果没有检测到合适的注释,则用默认名称
return e.ToString();
}如果只是在编码的时候不方便,也没感觉出来呀。
如果微软把DialogResult也全写成中文的,估计懂不懂中文的人都骂,毕竟几乎很少有人把DialogResult写到一个列表框中.