General method to convert enum to List<T>

c#

Solution

Enum.GetNames( typeof(EnumType) ).ToList()

http://msdn.microsoft.com/en-us/library/system.enum.getnames.aspx

Or, if you want to get fancy:

    public static List<string> GetEnumList<T>()
    {
        // validate that T is in fact an enum
        if (!typeof(T).IsEnum)
        {
            throw new InvalidOperationException();
        }

        return Enum.GetNames(typeof(T)).ToList();
    }

    // usage:
    var list = GetEnumList<EnumType>();

Problem

Here's a "weird" question: Is it possible to create a method where in it will convert whatever enum to list. Here's my draft of what I'm currently thinking. ``` public class EnumTypes { public enum Enum1 { Enum1_Choice1 = 1, Enum1_Choice2 = 2 } public enum Enum2 { Enum2_Choice1 = 1, Enum2_Choice2 = 2 } public List<string> ExportEnumToList(<enum choice> enumName) { List<string> enumList = new List<string>(); //TODO: Do something here which I don't know how to do it. return enumList; } } ``` Just curious if it's possible and how to do it.

Original source

Related problems