2014-11-13 3 views
0

Get properties in order of declaration using reflection과 비슷합니다. 선언 순서대로 속성을 가져 오려고합니다. 분명히, 나는 에 대해 true으로 설정된 AllowMultiple을 갖는 속성을 언급하고 있습니다.리플렉션을 사용하여 선언 순서로 속성을 가져옵니다.

MemberInfo.GetCustomAttributes 또는 Attribute.GetCustomAttributes이 주문을 보증하는지 궁금합니다 (MSDN에서 아무 것도 발견하지 못했습니다).

+0

어디서나 주문을 정의 할 수 있는지 잘 모르겠습니다. [GetCustomAttributesData] (http://msdn.microsoft.com/en-us/library/system.reflection.memberinfo.getcustomattributesdata (v = vs.110) .aspx)를보고 싶을 수도 있지만, t 명시 적으로 선언 순서로 –

답변

1

은 C# 언어 사양은 17.2 Attribute specification 말한다 :

속성이 같은 목록에 지정되는 순서와 같은 프로그램 엔터티에 연결된 섹션이 정렬되는 순서, 중요하지 않습니다.

예를 들어, 특성 사양 [A][B], [B][A], [A, B][B, A]은 동일합니다.

그래서 컴파일러는 원하는대로 다시 정렬 할 수 있으며 속성 검색 방법으로는 어떤 순서로도 반환 할 수 없습니다.

물론 workaround proposed in the question you link to[CallerLineNumber]을 사용하여 사용할 수 있습니다.

+0

그래서, 내 사용자 지정 특성에 Order 속성을 포함시켜야 할 것이라고 생각합니다. 고마워. – Dejan

관련 문제