2010-08-02 3 views

답변

3

:

MyAttribute [] myAttributes 
    = (MyAttribute [])a.GetType().GetCustomAttributes(typeof(MyAttribute),true); 

해당 GetCustomAttributes 항상 (여러 속성을 가지고 설명하기 위해) 이들의 배열을 반환하는 것을 제외하고, 당신은 "foreach 문을 사용하지 않고"무슨 뜻인지 이해할 수 없다 . 오직 하나만있을 수 있다는 것을 알고 있다면, 첫 번째 것을 사용하십시오.

MyAttribute theAttrib = myAttributes[0]; 
Console.WriteLine(theAttrib.CustomAttribute); 
+0

는 "당신이 무슨 뜻인지 이해할 수 없다" ""foreach 문을 사용하지 않고 -> 내가 모든 속성 – Dusan

+0

가치를 읽을 foreach 문을 사용하는 일부 나쁜 예를 찾아 네,하지만 나쁜 예는 단지입니다 - 예 - 당신은 그들이주는 지식을 받아들이고 그것이 맞는 것을 보는 방법을 사용해야합니다. – Jamiec

3

좋은 여기에 예제가있다 : 첫 번째 속성 직접

http://msdn.microsoft.com/en-us/library/z919e8tw.aspx

당신이 유형에 적용되는 다른 속성이없는 가정 할 것이다 foreach는하지 않고이 작업을 수행하려면, 인덱스가. 의 라인을 따라

1
var attribs = (MyAttributeAttribute[]) typeof(MyClass).GetCustomAttributes(
    typeof(MyAttributeAttribute), 
    true); 

Console.WriteLine(attribs[0].CustomAttribute); // prints 'Value'