让我们继续漏洞修复示例,在这个示例中新的自定义属性被命名为BugFixingAttribute。通常的约定是在属性名称后添加单词Attribute。编译器通过允许您调用具有短版名称的属性来支持附加。
因此,可以如以下代码段所示编写该属性:
[ BugFixing ( 122,"Sara levo", "18/06/2012")Remarks = "Data Type Mismatch at Line 44"]
在上述代码段中,编译器首先寻找名为BugFixing的属性的定义。没有找到BugFixing属性的定义时,寻找BugFixingAttribute属性的定义。
每个属性必须至少包含一个构造函数。在下面的漏洞修复示例中,漏洞编号、开发人员姓名、修复日期是定位参数,标记是命名参数。定位参数按照在构造函数中声明的顺序通过构造函数传递,如以下代码段所示:
public BugFixingAttribute(int BugNo, string Developer, string DateFixed)
{
this.BugNo = BugNo;
this.Developer = Developer;
this.DateFixed = DateFixed;
}
命名参数作为属性实现,如以下代码段所示:
public string Remarks
{
get
{
return Remarks;
}
set
{
Remarks = value;
}
}
为定位参数创建只读属性非常常见,如以下代码段所示:
public int BugNo
{
get
{
return