Maison >développement back-end >C++ >Comment puis-je obtenir la représentation des cordes d'une enum en C # plus élégamment?
Obtenez la chaîne de C # élégamment élégamment
Considérons l'énumération suivante:
Pour obtenir des valeurs de chaîne (telles que "formulaires" au lieu de l'ID 1), une solution est requise. Bien que les méthodes basées sur l'attribut existantes et les méthodes de dictionnaire fournissent une solution de transformation, il existe des solutions plus élégantes.
<code class="language-csharp">public enum AuthenticationMethod { FORMS = 1, WINDOWSAUTHENTICATION = 2, SINGLESIGNON = 3 }</code>
Type Mode d'énumération sûre
Le mode de dénombrement sûr de type introduit une classe d'étanchéité, et chaque membre d'énumération est exprimé comme un exemple distinct:
Ce modèle présente les avantages suivants:
<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>
Type Sécurité:
AuthenticationMethod
Cela permet une conversion facile, par exemple:
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!