C# 열거형을 문자열에 매핑: 해결 방법
C# 열거형은 본질적으로 정수 유형을 사용하므로 문자열과의 직접적인 연관이 제한됩니다. 그러나 몇 가지 효과적인 전략으로 이러한 한계를 극복할 수 있습니다.
한 가지 접근 방식은 클래스 속성을 활용합니다. 문자열 속성으로 클래스를 정의함으로써 열거형 동작을 모방하는 구조를 만듭니다.
<code class="language-csharp">public class LogCategory { public string Value { get; private set; } public static LogCategory Trace { get; } = new LogCategory("Trace"); public static LogCategory Info { get; } = new LogCategory("Info"); // ... other categories }</code>
이를 통해 문자열 표현에 대한 유형 안전 액세스가 가능해집니다.
<code class="language-csharp">public static void WriteLog(string message, LogCategory category) { Logger.Write(message, category.Value); } // Usage: WriteLog("Log message", LogCategory.Info);</code>
또는 유형이 안전한 문자열 매개변수를 직접 사용할 수도 있습니다.
<code class="language-csharp">public static void WriteLog(string message, string category) { // Add validation to ensure category is a valid value Logger.Write(message, category); } // Usage: WriteLog("Log message", "Info");</code>
두 가지 방법 모두 코드 가독성과 유연성을 향상시켜 문자열 표현이 필요할 때 표준 열거형의 제한 사항에 대한 실용적인 대안을 제공합니다. 두 번째 접근 방식에서는 유효한 문자열 범주만 사용되도록 주의 깊은 검증이 필요합니다.
위 내용은 C# 열거형을 문자열에 어떻게 매핑할 수 있나요?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!