2011年5月
« 4月   6月 »
 1
2345678
9101112131415
16171819202122
23242526272829
3031  

[Silverlight] Enum.GetValues()の代替手段

9:23 PM on 2011年5月23日 ,

SilverlightではEnum.GetValues()が使えない? そのため、enumの値を列挙する場合等には以下の方法で代替する。 // Tに対象のenumの型を指定する public static List GetValues() { 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; }