Computer >> คอมพิวเตอร์ >  >> การเขียนโปรแกรม >> C#

จะสร้างแอตทริบิวต์ที่กำหนดเองใน C # ได้อย่างไร


คุณลักษณะที่กำหนดเองที่สามารถใช้เพื่อเก็บข้อมูลการประกาศและสามารถดึงข้อมูลได้ในขณะใช้งาน

ให้เราดูวิธีการประกาศแอตทริบิวต์ที่กำหนดเอง

[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;
      }
   }
}