stackOverFlow 에 유용한 예제가 있어서 해당 답변자의 말을 한국어로 요약 해 본다.
질문자가 올린 코드이다. 인터페이스 내에 정의된 메소드 앞에 대괄호로 무언가가 쓰여 있다.
답변자는 여기에 대해서, '런타임에' 어떠한 정보를 전달하는 태그라고 설명한다.
해당 테그는 클래스, 메소드, 구조체, enum, 어셈블리 등과 같은 다양한 요소 동작에 관한 정보를 전달되는데 사용된다.
C++ 을 다뤄본 사람들은 익히 아는
'DLL' 에 대한 설명과 굉장히 흡사하다.
실제로 사전 정의된 DLL 파라미터에 인자값을 넘겨주는 역할을 하는 듯 하다.
즉, 뭔가 외부(DLL) 로부터 선언된 메소드등을 사용할 때 이용 된다.
이를 '사전 정의된 속성' or '특성' 으로 지칭하겠다.
위와 같이 const 형의 속성으로 초기화나, 생성자에서 초기화 하는것도 가능하다.
MSDN의 설명을 참고하면 더 도움이 된다.
'Programming > C#' 카테고리의 다른 글
[C#] StructLayoutAttribute.Pack 필드 설명 (0) | 2021.04.28 |
---|---|
[C#] Struct 마샬링 및 사용법 (0) | 2021.04.15 |
[C#] async & await 을 lamdba 에서 사용시 오류 (0) | 2021.03.19 |
[C#] 델리게이트와 이벤트의 차이점 (0) | 2021.03.04 |
[C#] IEnumerable 인터페이스 상속 및 객체 열거형 만들기 (0) | 2021.03.03 |