public static class EnumExtension
{
public static string GetDescription(this Enum value)
{
FieldInfo field = value.GetType().GetField(value.ToString());
DescriptionAttribute attribute = Attribute.GetCustomAttribute(field, typeof(DescriptionAttribute)) as DescriptionAttribute;
return attribute == null ? value.ToString() : attribute.Description;
}
//public static IEnumerable<EnumItem> GetDictionary<TEnum>(this TEnum tEnum)
// where TEnum : struct
//{
// return Enum.GetValues(typeof(TEnum)).OfType<Enum>()
// .Select(x => new EnumItem
// {
// Key = Convert.ToInt32(x),
// Value = x.ToString(),
// Description = x.GetDescription()
// });
//}
public static IEnumerable<EnumItem> GetDictionary(Type tEnum)
{
return Enum.GetValues(tEnum).OfType<Enum>()
.Select(x => new EnumItem
{
Key = Convert.ToInt32(x),
Value = x.ToString(),
Description = x.GetDescription()
});
}
}