>백엔드 개발 >C++ >C#의 열거형에서 사용자에게 친숙한 문자열을 어떻게 얻을 수 있나요?

C#의 열거형에서 사용자에게 친숙한 문자열을 어떻게 얻을 수 있나요?

Linda Hamilton
Linda Hamilton원래의
2025-01-23 03:47:08802검색

How Can I Get User-Friendly Strings from Enums in C#?

C#에서 사람이 읽을 수 있는 문자열로 열거형 표시

Enum은 명명된 상수를 나타내는 데 유용하지만 해당 값을 직접 표시하는 것은 사용자에게 명확성이 부족한 경우가 많습니다. 이 가이드는 문자열을 값으로 역으로 변환하지 않고 열거형 값을 사용자에게 친숙한 문자열로 매핑하는 방법을 보여줍니다.

이 솔루션은 DescriptionSystem.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 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.