Diego Lazzarino - IT Blog

Al mondo ci sono 10 tipi di persone: chi conosce il sistema binario e chi no
posts - 29, comments - 133, trackbacks - 192

Agguingere una descrizione agli elementi di un Enum


Ieri mi è capitato di dover caricare gli elementi di un Enum in una lista, ma il nome di ogni elemento non era abbastanza "parlante". Dopo qualche ricerca ho trovato il modo di aggiungere una descrizione agli elementi.

Ecco qui l'esempio:

    public enum MyEnumName
{
[Description("First Enum Item Description")] Item1 = 1,
[Description("Second Enum Item Description")] Item2,
[Description("Third Enum Item Description")] Item3
}


Per recuperare le descrizioni e caricare la lista si sfrutta la reflection


        public static string GetEnumDescription(Enum value)
{

FieldInfo fi = value.GetType().GetField(value.ToString());
DescriptionAttribute[] attributes =
(DescriptionAttribute[])fi.GetCustomAttributes(
typeof(DescriptionAttribute), false);
return (attributes.Length > 0) ? attributes[0].Description : value.ToString();
}


Ultima cosa, richiamare la funzione:
      
	string item1Description = GetEnumDescription(MyEnumName.Item1)

E' tutto :-)


Powered by ScribeFire.

Print | posted on giovedì 22 novembre 2007 12:01 | Filed Under [ .NET ]

Powered by:
Powered By Subtext Powered By ASP.NET