将枚举转换为字典;T为枚举名称
//将枚举转换为字典;T为枚举名称
public static Dictionary<int,string> EnumToDictionary<T>()
{
Dictionary<int, string> keyValues = new Dictionary<int, string>();
foreach (int i in Enum.GetValues(typeof(T)))
{
keyValues.Add(i, Enum.GetName(typeof(T), i));
}
return keyValues;
}
/// <summary>
/// 返回枚举项的描述信息。
/// </summary>
/// <param name="value">要获取描述信息的枚举项。</param>
/// <returns>枚举想的描述信息。</returns>
public static string GetDescription(Enum value)
{
Type enumType = value.GetType();
// 获取枚举常数名称。
string name = Enum.GetName(enumType, value);
if (name != null)
{
// 获取枚举字段。
FieldInfo fieldInfo = enumType.GetField(name);
if (fieldInfo != null)
{
// 获取描述的属性。
DescriptionAttribute attr = Attribute.GetCustomAttribute(fieldInfo,
typeof(DescriptionAttribute), false) as DescriptionAttribute;
if (attr != null)
{
return attr.Description;
}
}
}
return null;
}
本文介绍了一种将枚举类型转换为字典的方法,并提供了一个用于获取枚举项描述信息的实用函数。通过这两个工具,可以更方便地管理和使用枚举类型的数据。
29

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



