본문 바로가기

AttributeUsage

C# AttributeTargets로 애트리뷰트 적용 범위 제어 C#에서 애트리뷰트(Attribute)는 코드에 메타데이터를 추가하는 강력한 방법입니다. 하지만 애트리뷰트를 잘못된 대상에 적용하면 의도치 않은 동작이 발생할 수 있어서, AttributeTargets를 사용해 적용 범위를 제한하는 것이 중요합니다.1. AttributeTargets란?AttributeTargets는 애트리뷰트를 어디에 사용할 수 있는지 지정하는 열거형(enum)입니다. 클래스, 메서드, 필드 등 다양한 코드 요소에 대해 사용할 수 있는 위치를 제한합니다.2. 사용법커스텀 애트리뷰트를 정의할 때, AttributeUsage 특성을 이용해 적용 대상과 기타 옵션을 설정합니다. 예를 들어, 클래스와 메서드에만 적용 가능하도록 제한하려면 다음과 같이 지정합니다.[AttributeUsage(At.. 더보기
C# 애트리뷰트 (Attribute) 정의와 활용 애트리뷰트는 타입, 멤버, 매개변수 등에 메타데이터를 부여하는 기능입니다. 컴파일러와 런타임, 프레임워크(예: ASP.NET Core, 데이터 주석)가 이 메타데이터를 해석해 동작을 확장합니다. 직접 애트리뷰트를 정의하고 리플렉션으로 읽어 활용하는 방법을 정리합니다.1. 기본 개념과 문법애트리뷰트는 대괄호로 선언 대상 위에 표시합니다. 클래스명이 Attribute로 끝나더라도 사용 시 접미사는 생략 가능하며, 생성자 인수는 위치 인수, set 가능한 프로퍼티는 명명 인수로 전달합니다.[Serializable] // 접미사 'Attribute' 생략 가능[System.Obsolete("Use NewMethod")] // 전체 이름 사용 가능public class OldType {}2.. 더보기