如何使用 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;
      }
   }
}

更新于:23-Jun-2020

223 人次浏览

开启您的 职业

完成课程以获得认证

开始
广告