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