Sprache: C#
Was mich an [b]Array Enum.GetValues(Type enumType)[/b] stört, ist, dass im Aufruf [b]typeof()[/b] geschrieben werden muss, und dass die Elemente von Array vom Typ [b]object[/b] sind.
Das Snippet macht aus
[code]
foreach (MyEnum value in Enum.GetValues(typeof(MyEnum))) { … }
[/code]
einfach
[code]
foreach (var value in Enumerate<MyEnum>()) { … }
[/code]
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>();
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>();
Alte URL:
/snippet/enum-werte-aufzaehlen/14116
Gute Idee 👍