获取枚举描述信息(Description)2
2009-09-23 17:01
525 查看
之前记录过一种获取枚举描述信息的方法:http://cat.xiexiao.com/enum_description/
今天,发现扩展一下Enum的方法更好,不过就是只能C#3.0才可以使用扩展方法。
1。定义enum
using System;
using System.ComponentModel;
public enum TimeOfDay
{
[Description("上午")]
Moning = 0,
[Description("中午")]
Afternoon = 1,
[Description("晚上")]
Evening = 2,
};
2.定义扩展:
/// <summary>
/// 获取描述信息
/// </summary>
/// <param name="en"></param>
/// <returns></returns>
public static string description(this Enum en)
{
Type type = en.GetType(); MemberInfo[] memInfo = type.GetMember(en.ToString());
if (memInfo != null && memInfo.Length > 0) {
object[] attrs = memInfo[0].GetCustomAttributes(typeof(System.ComponentModel.DescriptionAttribute), false);
if (attrs != null && attrs.Length > 0)
return ((DescriptionAttribute)attrs[0]).Description;
}
return en.ToString();
}
这样子就可以直接用方法:.description()来获取描述信息了。没有描述信息,返回en.ToString()。
这里可以搞到wave邀请
今天,发现扩展一下Enum的方法更好,不过就是只能C#3.0才可以使用扩展方法。
1。定义enum
using System;
using System.ComponentModel;
public enum TimeOfDay
{
[Description("上午")]
Moning = 0,
[Description("中午")]
Afternoon = 1,
[Description("晚上")]
Evening = 2,
};
2.定义扩展:
/// <summary>
/// 获取描述信息
/// </summary>
/// <param name="en"></param>
/// <returns></returns>
public static string description(this Enum en)
{
Type type = en.GetType(); MemberInfo[] memInfo = type.GetMember(en.ToString());
if (memInfo != null && memInfo.Length > 0) {
object[] attrs = memInfo[0].GetCustomAttributes(typeof(System.ComponentModel.DescriptionAttribute), false);
if (attrs != null && attrs.Length > 0)
return ((DescriptionAttribute)attrs[0]).Description;
}
return en.ToString();
}
这样子就可以直接用方法:.description()来获取描述信息了。没有描述信息,返回en.ToString()。
这里可以搞到wave邀请
相关文章推荐
- 获取枚举描述信息(Description)
- 获取枚举描述信息(Description)
- C#获取枚举的Description描述信息
- 获取枚举的描述信息
- C# 获取枚举类型中所有描述信息
- 获取枚举常量的描述值Description
- 获取组SPGroup的描述Description信息
- 如何获取组SPGroup的描述Description信息
- 根据枚举类型值获取改值的描述信息
- 扩展方法:获取枚举的描述信息
- 获取枚举描述信息
- 获取枚举类型Description特性的描述信息
- 枚举 | 利用DescriptionAttribute定义枚举值的描述信息
- C# 获取枚举类型中所有描述信息
- 如何获取组SPGroup的描述Description信息
- sql获取表,字段,长度,类型,描述,等详细信息(转)
- C#+Enum 枚举扩展方法获取name,value和Description
- 网站分类前导:获取网站标题和描述及对相关信息进行分词处理
- 根据枚举获取枚举的Description特性值
- 获取枚举Name,Value,Description两种方法