Feedback

C# - Enum Werte aufzählen

Veröffentlicht von am 23.02.2016
(1 Bewertungen)
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>();

Abgelegt unter Enum, values, IEnumerable.

1 Kommentare zum Snippet

Koopakiller schrieb am 23.02.2016:
Gute Idee 👍
 

Logge dich ein, um hier zu kommentieren!