@miguel_ritchie
Для получения описания поля enum в ASP.NET можно использовать атрибуты.
1 2 3 4 5 6 7 8 |
public enum MyEnum { [Description("Описание 1")] Value1, [Description("Описание 2")] Value2 } |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 |
public static class EnumExtensions { public static string GetDescription(this TEnum enumerationValue) { Type type = enumerationValue.GetType(); MemberInfo[] memberInfo = type.GetMember(enumerationValue.ToString()); if (memberInfo != null && memberInfo.Length > 0) { object[] attrs = memberInfo[0].GetCustomAttributes(typeof(DescriptionAttribute), false); if (attrs != null && attrs.Length > 0) { return ((DescriptionAttribute)attrs[0]).Description; } } return enumerationValue.ToString(); } } |
1 2 3 |
MyEnum myValue = MyEnum.Value1; string description = myValue.GetDescription(); Console.WriteLine(description); // выводит "Описание 1" |
Здесь мы использовали атрибут Description
для описания значений enum. При необходимости вы можете использовать другие атрибуты или создать свой собственный.