C# の列挙型は本質的に整数値にマップされますが、それらを説明的な文字列に効果的に関連付けることで、可読性と保守性が向上します。この記事では、これを実現するための基本的な列挙型定義を超えた手法について説明します。
堅牢なメソッドには、クラス内で静的プロパティを使用することが含まれます。このアプローチでは、列挙型と同様のユーザー エクスペリエンスが提供されますが、直接文字列表現が可能になります。 LogCategory
クラスを使用した例を次に示します。
<code class="language-csharp">public class LogCategory { private LogCategory(string value) { Value = value; } public string Value { get; private set; } public static LogCategory Trace { get { return new LogCategory("Trace"); } } public static LogCategory Debug { get { return new LogCategory("Debug"); } } public static LogCategory Info { get { return new LogCategory("Info"); } } public static LogCategory Warning { get { return new LogCategory("Warning"); } } public static LogCategory Error { get { return new LogCategory("Error"); } } public override string ToString() { return Value; } }</code>
このクラスは列挙機能を反映しています。 Value
プロパティは文字列表現を保持し、LogCategory.Info
.
使用例:
<code class="language-csharp">public static void WriteLog(string message, LogCategory category) { var logEntry = new LogEntry { Message = message }; Logger.Write(logEntry, category.Value); } // Example call WriteLog("This is a log message.", LogCategory.Warning);</code>
このアプローチでは、列挙型の明瞭さと使いやすさを維持しながら、コードの明瞭性を向上させるために必要な文字列マッピングを提供します。
以上がC# 列挙型を文字列に効果的にマッピングするにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。