선언적 정보를 저장하는 데 사용할 수 있고 런타임에 검색할 수 있는 사용자 정의 속성입니다.
사용자 정의 속성을 선언하는 방법을 살펴보겠습니다.
[AttributeUsage ( AttributeTargets.Class | AttributeTargets.Constructor | AttributeTargets.Field | AttributeTargets.Method | AttributeTargets.Property, AllowMultiple = true)] public class DeBugInfo : System.Attribute
이 예에서는 프로그램을 디버깅하여 얻은 정보를 저장하는 DeBugInfo라는 사용자 지정 속성을 구성해 보겠습니다.
DeBugInfo 클래스에는 처음 3개의 정보를 저장하기 위한 3개의 개인 속성과 메시지를 저장하기 위한 공용 속성이 있습니다. 따라서 버그 번호, 개발자 이름 및 검토 날짜는 DeBugInfo 클래스의 위치 매개변수이고 메시지는 선택적 매개변수 또는 명명된 매개변수입니다.
각 속성에는 최소한 하나의 생성자가 있어야 합니다. 맞춤 속성을 만드는 방법을 살펴보겠습니다.
예시
//a custom attribute BugFix to be assigned to a class and its members [AttributeUsage ( AttributeTargets.Class | AttributeTargets.Constructor | AttributeTargets.Field | AttributeTargets.Method | AttributeTargets.Property, AllowMultiple = true)] public class DeBugInfo : System.Attribute { private int bugNo; private string developer; private string lastReview; public string message; public DeBugInfo(int bg, string dev, string d) { this.bugNo = bg; this.developer = dev; this.lastReview = d; } public int BugNo { get { return bugNo; } } public string Developer { get { return developer; } } public string LastReview { get { return lastReview; } } public string Message { get { return message; } set { message = value; } } }