Heim >Backend-Entwicklung >C++ >Wie kann ich die String -Darstellung eines Enum in C# eleganter bekommen?
Betrachten Sie die folgende Aufzählung:
, um Stringwerte (z. B. "Formulare" anstelle von ID 1) zu erhalten, ist eine Lösung erforderlich. Obwohl die vorhandenen ordnungsgemäß basierenden Methoden und Wörterbuchmethoden eine Transformationslösung liefern, gibt es elegantere Lösungen.
<code class="language-csharp">public enum AuthenticationMethod { FORMS = 1, WINDOWSAUTHENTICATION = 2, SINGLESIGNON = 3 }</code>
Typ Safer Aufzählungsmodus
Typ Typ Safe Enumeration -Modus type eine Versiegelungsklasse, und jedes Aufzählungsmitglied wird als separates Beispiel ausgedrückt:
Dieses Modell hat die folgenden Vorteile:
<code class="language-csharp">public sealed class AuthenticationMethod { private readonly string name; private readonly int value; public static readonly AuthenticationMethod FORMS = new AuthenticationMethod(1, "FORMS"); public static readonly AuthenticationMethod WINDOWSAUTHENTICATION = new AuthenticationMethod(2, "WINDOWS"); public static readonly AuthenticationMethod SINGLESIGNON = new AuthenticationMethod(3, "SSN"); private AuthenticationMethod(int value, string name) { this.name = name; this.value = value; } public override string ToString() { return name; } }</code>
Geben Sie Sicherheit Typ:
AuthenticationMethod
Dies ermöglicht eine einfache Konvertierung, zum Beispiel:
Das obige ist der detaillierte Inhalt vonWie kann ich die String -Darstellung eines Enum in C# eleganter bekommen?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!