Powiel możliwe:
Getting attributes of Enum’s valueJak uzyskać C# opis Enum od wartości?
Mam enum wraz z opisem atrybutów tak:
public enum MyEnum
{
Name1 = 1,
[Description("Here is another")]
HereIsAnother = 2,
[Description("Last one")]
LastOne = 3
}
Znalazłem ten fragment kodu do pobierania opis oparty na zasadzie Enum
public static string GetEnumDescription(Enum value)
{
FieldInfo fi = value.GetType().GetField(value.ToString());
DescriptionAttribute[] attributes =
(DescriptionAttribute[])fi.GetCustomAttributes(
typeof(DescriptionAttribute),
false);
if (attributes != null &&
attributes.Length > 0)
return attributes[0].Description;
else
return value.ToString();
}
To pozwala mi napisać kod jak:
var myEnumDescriptions = from MyEnum n in Enum.GetValues(typeof(MyEnum))
select new { ID = (int)n, Name = Enumerations.GetEnumDescription(n) };
Co chcę zrobić, to jeśli wiem wartość enum (np 1) - jak mogę pobrać opis? Innymi słowy, w jaki sposób mogę przekonwertować liczbę całkowitą na "Wartość wyliczenia", aby przejść do mojej metody GetDescription?
(! Atrybuty = null) będzie zawsze prawda, a ponadto jest zbędny. – Jeff
Przestrzeń nazw wymagana dla Opisu to System.ComponentModel –