คุณลักษณะที่กำหนดเองที่สามารถใช้เพื่อเก็บข้อมูลการประกาศและสามารถดึงข้อมูลได้ในขณะใช้งาน
ให้เราดูวิธีการประกาศแอตทริบิวต์ที่กำหนดเอง
[AttributeUsage ( AttributeTargets.Class | AttributeTargets.Constructor | AttributeTargets.Field | AttributeTargets.Method | AttributeTargets.Property, AllowMultiple = true)] public class DeBugInfo : System.Attribute
สำหรับตัวอย่างของเรา ให้เราสร้างแอตทริบิวต์ที่กำหนดเองชื่อ DeBugInfo ซึ่งเก็บข้อมูลที่ได้รับจากการดีบักโปรแกรมใดๆ
คลาส DeBugInfo มีคุณสมบัติส่วนตัวสามประการสำหรับการจัดเก็บข้อมูลสามรายการแรกและคุณสมบัติสาธารณะสำหรับการจัดเก็บข้อความ ดังนั้นหมายเลขบั๊ก ชื่อผู้พัฒนา และวันที่ตรวจสอบจึงเป็นพารามิเตอร์ตำแหน่งของคลาส 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; } } }