Как получить описание C# Enum из значения? [дубликат]C#

Место общения программистов C#
Anonymous
Как получить описание C# Enum из значения? [дубликат]

Сообщение Anonymous »

У меня есть перечисление с такими атрибутами описания:

Код: Выделить всё

public enum MyEnum
{
Name1 = 1,
[Description("Here is another")]
HereIsAnother = 2,
[Description("Last one")]
LastOne = 3
}
Я нашел этот фрагмент кода для получения описания на основе Enum

Код: Выделить всё

public static string GetEnumDescription(Enum value)
{
FieldInfo fi = value.GetType().GetField(value.ToString());

DescriptionAttribute[] attributes = fi.GetCustomAttributes(typeof(DescriptionAttribute), false) as DescriptionAttribute[];

if (attributes != null && attributes.Any())
{
return attributes.First().Description;
}

return value.ToString();
}
Это позволяет мне писать код типа:

Код: Выделить всё

var myEnumDescriptions = from MyEnum n in Enum.GetValues(typeof(MyEnum))
select new { ID = (int)n, Name = Enumerations.GetEnumDescription(n) };
Что я хочу сделать, так это знать значение перечисления (например, 1) — как я могу получить описание? Другими словами, как я могу преобразовать целое число в «значение перечисления» для передачи в мой метод GetDescription?

Вернуться в «C#»