0
가능한 중복 :
Iterating through an enumeration in Silverlight?으로 반복
C 번호와 실버의 열거에있는 모든 값을 반복 할 수있는 방법이 있나요?
WPF는 System.Enum.GetType (Type) 메서드를 사용할 수 있지만 Silverlight에서는 사용할 수 없다는 것을 알고 있습니다.
감사합니다, 세스
가능한 중복 :
Iterating through an enumeration in Silverlight?으로 반복
C 번호와 실버의 열거에있는 모든 값을 반복 할 수있는 방법이 있나요?
WPF는 System.Enum.GetType (Type) 메서드를 사용할 수 있지만 Silverlight에서는 사용할 수 없다는 것을 알고 있습니다.
감사합니다, 세스
public static IEnumerable<T> GetEnumValues<T>()
{
return typeof(T)
.GetFields()
.Where(x => x.IsLiteral)
.Select(field => (T)field.GetValue(null));
}
사용
foreach (var bindingFlag in GetEnumValues<BindingFlags>())
{
Debug.WriteLine(bindingFlag);
}
이 시도 :
public static List<T> GetList<T>(Type enumType)
{
List<T> output = new List<T>();
var fields = from field in enumType.GetFields()
where field.IsLiteral
select field;
foreach (FieldInfo field in fields)
{
object value = field.GetValue(enumType);
output.Add((T) value);
}
return output;
}
이처럼 전화 :
List<MyEnum> myList = GetList<MyEnum>(typeof(MyEnum))
@Ani - 네 말이 맞아, 나는 그 질문을 놓쳤다. –