an Aufzählung ist ein leistungsstarkes Werkzeug für eine Reihe von Namenskonstanten. Wenn Sie jedoch auf die String -Darstellung des Aufzählungswerts zugreifen müssen, kann das Standardverhalten begrenzt sein.
benutzerdefinierte Lösung
Die vom Benutzer bereitgestellte benutzerdefinierte Lösung beinhaltet die Erstellung eines benutzerdefinierten Attributs mit dem Namen "StringValue" und fügt es der Aufzählung hinzu. Dieses Attribut wurde gespeichert, dass der aufzählige Wertzeichenfolge angibt, dass die GetStringValue -Methode zum Abrufen verwendet werden kann. Obwohl diese Lösung gültig ist, erhöht sie die zusätzliche Komplexität und erfordert zusätzlichen Code, um zu warten.
Typ Safer AufzählungsmodusTyp
Die flexiblere und sichere Methode ist die Verwendung des Typs Safe Enumeration -Modus vom Typ. In diesem Modus wird die Aufzählung als Versiegelungsklasse definiert, wobei das statische Feld den Aufzählungswert angibt. Zum Beispiel:
Mit dieser Methode können Sie einfach die ToString -Methode anwenden, um auf die Aufzählungszeichenfolge zuzugreifen. Darüber hinaus kann es die explizite und implizite Typumwandlung so definieren, dass sie leicht zwischen der Zeichenfolge und dem Aufzählungswert konvertiert werden kann.Schlussfolgerung
<code class="language-c#">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>
Typ Safe Enumeration -Modus Typ bietet eine flexiblere und Type sicherere Möglichkeit, die Aufzählung mit Stringwerten darzustellen. Es beseitigt die Notwendigkeit benutzerdefinierter Attribute und bietet eine konsistente und intuitive Möglichkeit, auf die Darstellung der Aufzählungszeichenfolge zuzugreifen.
Das obige ist der detaillierte Inhalt vonWie kann man Stringwerte in Enums am besten darstellen?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!