c#列挙の文字列をエレガントに入手してください
次の列挙を検討してください:
文字列値(ID 1ではなく「フォーム」など)を取得するには、解決策が必要です。既存の属性ベースのメソッドと辞書メソッドは変換ソリューションを提供しますが、よりエレガントなソリューションがあります。
<code class="language-csharp">public enum AuthenticationMethod { FORMS = 1, WINDOWSAUTHENTICATION = 2, SINGLESIGNON = 3 }</code>
タイプセーフ列挙モード
タイプセーフ列挙モードはシーリングクラスを導入し、各列挙メンバーは別の例として表現されます:
このモデルには、次の利点があります
<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>
AuthenticationMethod
スケーラビリティ:以上がC#の列挙の文字列表現をよりエレガントにするにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。