ExtensionMethod.NET Home of 876 C#, Visual Basic, F# and Javascript extension methods

Generic Enum to List<T> converter



public static List<T> EnumToList<T>()
    Type enumType = typeof (T);

    // Can't use type constraints on value types, so have to do check like this
    if (enumType.BaseType != typeof(Enum))
        throw new ArgumentException("T must be of type System.Enum");
    Array enumValArray = Enum.GetValues(enumType);

    List<T> enumValList = new List<T>(enumValArray.Length);

    foreach (int val in enumValArray) {
        enumValList.Add((T)Enum.Parse(enumType, val.ToString()));

    return enumValList;


List<DayOfWeek> weekdays =
delegate (DayOfWeek x)
    return x != DayOfWeek.Sunday && x != DayOfWeek.Saturday;

Author: Joe Niland

Submitted on: 16 okt 2010

Language: C#

Type: System.Enum

Views: 18605