C # Enums elegant parsen

8

Hat jemand eine elegantere Lösung zum Parsen von Enums? Das Folgende scheint mir nur ein Durcheinander zu sein.

%Vor%     
josh 31.07.2012, 14:20
quelle

4 Antworten

13

Ich mache oft einen generischen Helfer dafür:

%Vor%

Sie können das mit Jon Skeets Nicht gespannte Melodie (oder ein anderer Post-IL-Prozessor), um eine korrekte Typbeschränkung für eine Enumeration zu erhalten, aber das ist optional.

Dann kannst du es so benutzen:

%Vor%

Das .NET Framework 4.0 enthält außerdem Enum.TryParse , das ebenfalls eine ähnliche Syntax bietet und bietet eine Möglichkeit zur Behandlung, wenn das Parsen fehlschlägt. Zum Beispiel:

%Vor%     
vcsjones 31.07.2012, 14:22
quelle
3

Sie können eine Extersionsmethode wie diese erstellen

%Vor%

dann im Code können Sie es so verwenden (MyEnum enthält die Werte A und B):

%Vor%     
Mones 31.07.2012 14:35
quelle
1

Hier ist eine Erweiterungsmethode basierend auf @vcsjones Version und Feedback und @Mones Beispiel:

%Vor%

Der Testkabelbaum liefert diesen Ausgang:

%Vor%

Referenzen:

Colin 10.10.2017 18:18
quelle
0

Oh, ich bin auf Tyler Brinkleys Enums.NET -Bibliothek gestoßen, die dies und mehr tut!

Diese andere StackOverflow-Antwort Generische Version von Enum.Parse in C # führte zu Jon Skeets Unconstrained Melody Bibliotheksseite, wo wir stattdessen zu Enums.NET weitergeleitet werden. Beeindruckend.

    
Colin 10.10.2017 21:42
quelle

Tags und Links