Was mich an
Array Enum.GetValues(Type enumType) stört, ist, dass im Aufruf
typeof() geschrieben werden muss, und dass die Elemente von Array vom Typ
object sind.
Das Snippet macht aus
foreach (MyEnum value in Enum.GetValues(typeof(MyEnum))) { ... }
einfach
foreach (var value in Enumerate<MyEnum>()) { ... }
static IEnumerable<TEnum> Enumerate<TEnum>()
{
return Enum.GetValues(typeof(TEnum)).OfType<TEnum>();
}
// oder mit C# 6 expression body
static IEnumerable<TEnum> Enumerate<TEnum>() => Enum.GetValues(typeof(TEnum)).OfType<TEnum>();
1 Kommentare zum Snippet