[Silverlight] Enum.GetValues()の代替手段
SilverlightではEnum.GetValues()が使えない? そのため、enumの値を列挙する場合等には以下の方法で代替する。 // Tに対象のenumの型を指定する public static ListGetValues () { Type t = typeof(T); if (!t.IsEnum) { throw new ArgumentException(); } List values = new List (); var fields = from field in t.GetFields() where field.IsLiteral select field; foreach (FieldInfo field in fields) { object value = field.GetValue(t); values.Add((T)value); } return values; }