Typkonverter – kurz und knapp
Wenn Sie auf einen Wert von einem Aufzählungstyp zugreifen, müssen Sie ihn meistens erst einmal in einen elementaren Typ (in der Regel eine Ganzzahl) umwandeln, um ihn verarbeiten zu können. Die Übersetzung vom Aufzählungstyp in den nativen Typ wird über die Dienste des Members Enum.Parse realisiert. Dennoch müssen Sie noch einige Codezeilen hinzufügen. Deshalb lohnt es sich, eine neue Erweiterungsmethode wie zum Beispiel As
Listing 4
public static T As(this Enum val) { // Get the type of the underlying enumeration. var enumType = val.GetType(); // Parse the value into the native type. var enumValue = Enum.Parse(enumType, val.ToString()); // Explicitly cast to the expected type and return. return (T) enumValue; }
Wie Sie von der Methode As
var status = MatchStatus.Completed; Console.WriteLine(status.As());
Auch die folgende Methode ist in der Praxis hilfreich:
public static T Parse(this String name) where T:struct { return (T) Enum.Parse(typeof(T), name); }
Diese Hilfsmethode bietet sich an, wenn Sie eine benannte Konstante aus einer Aufzählung erhalten und den nativen Typ zurückhaben möchten. Handelt es sich bei der Eingabe um einen Aufzählungswert, nehmen Sie stattdessen die Methode As
var value = "Completed".Parse();
Hinterlasse einen Kommentar
Hinterlasse den ersten Kommentar!