2013-02-26 2 views

답변

8

AttributeUsage은 MVC에만 국한되지 않습니다. 속성이 사용되는 위치와 방법을 설명합니다.

대부분의 경우에 컴파일러는 이러한 제약 조건을 적용합니다.

그러나 "마법적인"현상은 발생하지 않습니다. 당신은 여전히 ​​그것의 속성을 가진 클래스/멤버를 장식 할 필요가있다. . 즉, 자동으로 모든 유형 또는 멤버에 적용되지 않습니다 *

은 참조 : http://msdn.microsoft.com/en-us/library/tw5zxet9(v=vs.110).aspx

* Inherited 속성은 자동화의 매우 제한된 양을 제공한다. How does inheritance work for Attributes?을 참조하십시오.

+0

내가 작은 의심의 여지가 있습니다

는 AttributeUsage에 C# 프로그래밍 가이드를 참조하십시오. 어떻게 봉인 될 때 ​​클래스가 계승되는 것을 막을 수 있습니까? 설명해주십시오. –

+1

@LijinJohn - 속성 자체가 봉인되어 있지만'Inherited' 속성은 * other * 클래스에 적용될 때 속성이 어떻게 작동 하는지를 설명합니다. 다른 클래스는 봉인되지 않을 수도 있습니다. –

0

다른 모든 유형의 응용 프로그램과 똑같습니다 (특별한 MVC 동작 없음). 특정 위치를 지정할 수 있습니다.

1

사용자 지정 특성 클래스를 사용하는 방법을 결정합니다. AttributeUsage는 사용자 정의 속성 정의에 적용하여 새 속성을 적용하는 방법을 제어 할 수있는 속성입니다.

그래서 기본적으로 구현할 속성 클래스에 대한 추가 정보를 컴파일러에 제공합니다. http://msdn.microsoft.com/en-us/library/tw5zxet9(v=vs.100).aspx

0

AttributeUsage이 어디에 어떻게 속성이 사용될 수있다 지시 :

당신은 몇 가지 훌륭한 사례가있다. 따라서 예제를 클래스 또는 메소드에 적용 할 수 있지만 엔티티 당 한 번만 적용 할 수 있습니다.

자동으로 클래스에 연결되지 않습니다. 당신은 명시 적으로 그렇게해야 할 것입니다. 우리가 봉인 클래스가 있고 attributeUsage이 = 진정한 속성을 상속 위의 질문에, http://msdn.microsoft.com/en-us/library/tw5zxet9(v=vs.80).aspx

관련 문제