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)); } } }