Heim >Backend-Entwicklung >C++ >Wie kann ich die String -Darstellung eines Enum in C# eleganter bekommen?

Wie kann ich die String -Darstellung eines Enum in C# eleganter bekommen?

Susan Sarandon
Susan SarandonOriginal
2025-01-29 07:57:09299Durchsuche

How Can I Get the String Representation of an Enum in C# More Elegantly?

Holen Sie sich die Zeichenfolge von C#elegant

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:

    Klasse Stellen Sie sicher, dass nur effektive Werte verwendet werden.
  • klar und präzise: Zeichenfolge zeigt direkt zu jedem Mitglied an. AuthenticationMethod
  • Skalierbarkeit:
  • kann einen Mehrwert hinzufügen, ohne den vorhandenen Code zu zerstören.
  • Unterschiedliche Konvertierung
  • Bei Bedarf können Sie der
  • -Klasse einen expliziten Typ -Konvertierung hinzufügen. Lassen Sie eine Zeichenfolge eine String in die Aufzählung umwandeln (in diesem Teil des Codebeispiels müssen Sie sie korrigieren):
):

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!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn