获取枚举描述信息(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-04-25 19:50:23 发布
本文介绍如何在C#中为枚举项添加描述属性,并通过反射获取这些描述值,实现方式适用于各种需要枚举描述的应用场景。
&spm=1001.2101.3001.5002&articleId=5622292&d=1&t=3&u=e9de695b400345b09ba9314cdaee394e)
153

被折叠的 条评论
为什么被折叠?



