Converting a c# enum into a list to be sent to the client I want to use the enum on the client for a dropdown list.  Does this make sense, or is there a smarter way of doing this?

public class clientEnum 
{
    public string Value { get;set;}
    public int Key { get; set; }
}

public static List&lt;clientEnum&gt; EnumToclientEnum &lt;T&gt;(T enumType) where T : Type
{
    List&lt;clientEnum&gt; list = new List&lt;clientEnum&gt;();

    foreach (var value in Enum.GetValues(enumType))
    {
        var name = value.ToString();              
        var number = (byte)Enum.Parse(enumType, name);
        list.Add(new clientEnum { Key = (int)number, Value = value.ToString() });
    }
    return list;
}
Yes, use linq extensions:

public static List&lt;clientEnum&gt; EnumToclientEnum&lt;T&gt;()
{
    var type = typeof(T);
    if (!type.IsEnum) throw new NotSupportedException();
    return Enum.GetValues(type).Select(x =&gt; new clientEnum { Key = (int)x, Value = x.ToString() }).ToList();
}


In your original code (as well as in Abbas's answer) enum value is being converted to string and then this string  is parsed back to get the value. That makes no sense.