.Net에서 문자열과 열거형 연결

1579 단어 csharpdotnet
열거형은 본질적으로 이름 정수 목록을 나타내는 사용자 정의 값 유형입니다.

열거형 멤버의 이름을 지정하는 방법에 대한 몇 가지 제약 조건도 있습니다.

열거 구성원의 이름은 다음을 수행할 수 없습니다.
  • 형식 정보는 개발 도구에서 제공할 것으로 예상되므로 형식 이름이 접두사로 붙습니다.
  • 숫자 값이거나 숫자로 시작하는 값이어야 합니다.
    전. 123ABC는 허용되지 않습니다.
  • 이름에 공백이 있습니다.
    전. 아메리카 합중국은 허용되지 않습니다.
  • 알파벳이 아닌 문자를 포함하고 영어로 제한됨

  • Description 속성 데코레이션은 제공 속성 또는 이벤트에 대한 설명 이름을 정의하는 데 사용됩니다.

    설명 장식은 System.ComponentModel Namespace에 정의되어 있습니다.

    안타깝게도 Enum 멤버의 이름을 읽는 방법은 제한되어 있으며 설명이 아닌 Enum 멤버 이름만 반환합니다.

    전제 조건


  • CodeHelper.Core.Extensions

  • 해결책


  • System.ComponentModel 네임스페이스의 설명 특성 사용
  • 용도CodeHelper.Core.Extensions
  • Description() 메서드로 설명을 호출합니다.

  • 예시



    국가 열거형




    using System.ComponentModel;
    
    public enum Countries
        {
            [Description("United States of America")]        
            UnitedStates,
            [Description("Belgium, Belgie, Belgique")]
            Belgium,
    
            France,       
        }
    
    


    코드




    using CodeHelper.Core.Extensions;
    var _usaDesc = Countries.UnitedStates.Description();
    var _usaString = Countries.UnitedStates.ToString();
    var _usaNumber = Countries.UnitedStates;
    


    결과
    아메리카 합중국
    미국
    0

    좋은 웹페이지 즐겨찾기