2012-11-15 2 views
0

C#에서 MVC 3의 메서드 위에 호출 된 대괄호는 무엇입니까?C# 함수 접두사 특성 이름?

[ErrorHandler, SomethingHere] 
public function Test() { 


} 
+2

괄호가 호출 브래킷을 만들 수 있습니다. 둘 사이에 무엇이 의미하는지, 그것들은 속성입니다. – Servy

+0

이 기술은 무엇이라고합니까? 함수 접두사? – JREAM

+1

아니요, 제가 말했듯이, 그것들은 속성입니다. – Servy

답변

3

이들을 Attributes이라고합니다. 속성은 추상 클래스 인 System.Attribute를 상속하는 클래스입니다. . 규약에 따라 모든 속성에는 "속성"이라는 단어로 끝나는 클래스 이름이 지정됩니다. 여기에 몇 가지 MVC3 속성은 다음과 같습니다

AcceptViewAttribute 
    ActionFilterAttribute 
    ActionMethodSelectorAttribute 
    ActionNameAttribute 
    ActionNameSelectorAttribute 
    AuthorizeAttribute 
    BindAttribute 
    CustomModelBinderAttribute 
    FilterAttribute 
    HandleErrorAttribute 
    HiddenInputAttribute 
    HttpDeleteAttribute 
    HttpGetAttribute 
    HttpPostAttribute 
    HttpPutAttribute 
    ModelBinderAttribute 
    NonActionAttribute 
    OutputCacheAttribute 
    RequireHttpsAttribute 
    ValidateAntiForgeryTokenAttribute 
    ValidateInputAttribute 

당신은 당신의 Custom Attributes

5

"그 대괄호"의 의미를 모르십니까? 함수 앞의 것은 속성입니다.

Microsoft MSDN: System.Attribute

및 사용에 관해서 조금 확장 : 속성 컴파일에 저장 응용 프로그램 특정 정보에 소스 코드의 요소에 배치하고 사용할 수있는 주석이

시각. 이 정보는 메타 데이터에 저장되며 응용 프로그램을 실행하는 동안 또는 반사라는 프로세스를 통해 또는 다른 도구가 메타 데이터를 읽을 때 액세스 할 수 있습니다. 특성은 실행 중에 응용 프로그램의 동작을 변경하거나 개체에 대한 트랜잭션 정보를 제공하거나 디자이너에게 조직 정보를 전달할 수 있습니다. gnu.org

1

이들을 메소드 속성이라고합니다. 당신은 그래서 당신의 예와 동의어,

그것은 단어의 특성을 유추 속성 msdn site

2

에 대한 자세한 내용을보실 수 있습니다 :

[ErrorHandlerAttribute, SomethingHereAttribute] 
public function Test() { 
2

MVC의 런타임 특성을 찾기 위해 반사를 사용합니다. 그런 다음 MVC는 위치에있는 속성에 대한이 정보를 사용하여 메소드 실행 방법, 보안 제한 사항 등을 확인합니다.

관련 문제