C#에서 사람이 읽을 수 있는 문자열로 열거형 표시
Enum은 명명된 상수를 나타내는 데 유용하지만 해당 값을 직접 표시하는 것은 사용자에게 명확성이 부족한 경우가 많습니다. 이 가이드는 문자열을 값으로 역으로 변환하지 않고 열거형 값을 사용자에게 친숙한 문자열로 매핑하는 방법을 보여줍니다.
이 솔루션은 Description
의 System.ComponentModel
속성을 활용합니다. 이 속성을 열거형 멤버에 적용하면 각 값에 대해 더 설명적인 레이블을 제공할 수 있습니다.
예:
<code class="language-csharp">private enum PublishStatusValue { [Description("Not Completed")] NotCompleted, Completed, Error }</code>
사용자 친화적인 문자열 검색:
다음 확장 메서드는 설명이 없는 경우 설명이나 열거형의 기본 문자열 표현을 검색합니다.
<code class="language-csharp">public static string GetDescription<T>(this T enumerationValue) where T : struct { Type type = enumerationValue.GetType(); if (!type.IsEnum) { throw new ArgumentException("EnumerationValue must be of Enum type", "enumerationValue"); } MemberInfo[] memberInfo = type.GetMember(enumerationValue.ToString()); if (memberInfo != null && memberInfo.Length > 0) { object[] attrs = memberInfo[0].GetCustomAttributes(typeof(DescriptionAttribute), false); if (attrs != null && attrs.Length > 0) { return ((DescriptionAttribute)attrs[0]).Description; } } return enumerationValue.ToString(); }</code>
이 방법은 사용자 친화적인 출력을 효율적으로 제공하여 코드 가독성과 사용자 경험을 향상시킵니다.
위 내용은 C#의 열거형에서 사용자에게 친숙한 문자열을 어떻게 얻을 수 있나요?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!