如何在 C# 中构造自定义属性?
csharpprogrammingserver side programming更新于 2025/5/30 19:22:17
属性用于向程序添加元数据,例如编译器指令和其他信息,例如注释、描述、方法和类。
.Net Framework 允许创建自定义属性,这些属性可用于存储声明性信息并可在运行时检索。
从 System.Attribute 类派生出一个新的自定义属性。
//要分配给类及其成员的自定义属性 BugFix [AttributeUsage( AttributeTargets.Class | AttributeTargets.Constructor | AttributeTargets.Field | AttributeTargets.Method | AttributeTargets.Property, AllowMultiple = true)] public class DeBugInfo : System.Attribute
让我们构造一个名为 DeBugInfo 的自定义属性,它存储通过调试任何代码获得的信息程序。
DeBugInfo 类有三个私有属性用于存储前三个信息,还有一个公共属性用于存储消息。因此,错误编号、开发人员姓名和审查日期是 DeBugInfo 类的位置参数,而消息是可选或命名参数。
示例
让我们看看如何 −
// 一个自定义属性 BugFix 被分配给一个类及其成员
[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;
}
}
}

