Grimpi IT Blog

mayo 3, 2008

Listar todos los ítems de un Enum vía reflection

Filed under: .NET, Reflection — grimpi @ 2:59 am

Post simple y práctico, como listar todos los ítems de un Enum vía reflection:

public static IEnumerable GetEnumList()
{
    Type enum = typeof(T);
    Array enums = Enum.GetValues(enum);
    List enumValList = new List(enums.Length);
    foreach (int val in enumValArray)
    {
        enumValList.Add((T)Enum.Parse(enum, val.ToString()));
    }
    return enumValList;
}

public static class Program
{
    public enum ObjectType
    {
        Item1 = 1,
        Item2 = 2,
        Item3 = 3
    }

    static void Main()
    {
        foreach (ObjectType state in GetEnumList())
        {
	    System.Console.Out.WriteLine(GetEnumDescription(state));
        }
    }
}

Crea un blog o un sitio web gratuitos con WordPress.com.