获取枚举描述信息(Description)
看到别人的enum都有一个获取枚举描述信息(Description),直接给自己的加上,发现not work。网上找了找,原来要这个样子加的:
1。定义enum
using System;
using System.ComponentModel;
public enum TimeOfDay
{
[Description("上午")]
Moning = 0,
[Description("中午")]
Afternoon = 1,
[Description("晚上")]
Evening = 2,
};
2。得到enum的描述信息。以NameValueCollection返回。
NameValueCollection的key值等于enum的key。
using System;
using System.Reflection;
using System.ComponentModel;
using System.Collections.Specialized;
/// <summary>
/// 得到enum的属性值
/// </summary>
/// <returns></returns>
public static NameValueCollection ConvertEnumDescriptionValue()
{
NameValueCollection nvc = new NameValueCollection();
Type type = typeof(DescriptionAttribute);
foreach (FieldInfo fi in typeof(EnumClass.TimeOfDay).GetFields())
{
object[] arr = fi.GetCustomAttributes(type, true);
if (arr.Length > 0)
{
nvc.Add(fi.Name, ((DescriptionAttribute)arr[0]).Description);
}
}
return nvc;
}
获取枚举描述信息(Description)
最新推荐文章于 2025-03-24 07:51:34 发布