안녕하세요.
C#에서 사용자 어트리뷰트를 정의해서 사용하고 있습니다.
이 어트리뷰트를 하나의 필드에서 여러개를 정의해서 사용할려고
[System.AttributeUsage(System.AttributeTargets.Field, AllowMultiple = true, Inherited = false)]
어트리뷰트 속성을 사용해서 사용하고 있습니다.
이때 MemberInfo클래스의 GetCustomAttributes() 메서드를 이용해 제가 정의한 어트리뷰트 정보를 가져오도록 했는데
위 메서드의 반환 요소가 여러개일 경우 순서 보장이 되지 않는 것 같습니다.
가령 코드상에서
[사용자 어트리뷰트("aaa")]
[사용자 어트리뷰트("bbb")]
Field1
이와 같이 하나의 필드에 여러개의 같은 어트리뷰트를 정의 한 후 위 메서드를 호출 했을때 코드상 제가 정의한 어트리뷰트순서대로 반환대지 않는 것 같습니다.
GetCustomAttributes()를 이용해서 어트리뷰트 정보를 불러 올때 순서를 보장받아 불러 오는 방법은 없는 건가요 ?
또한 왜 저런 결과가 나오는지도 궁굼합니다.
[최초 등록일: ]
[최종 수정일: 10/23/2015]