我有一个员工班:
public class Employee
{
public string Name { get; set; }
public Int32 Salary { get; set; }
public DateTime DateOfBirth { get; set; }
}
我创建了一个自定义属性CustomeAttribute
public class CustomAttributes : Attribute
{
public int Sequence {set;get;}
public int Length { set; get; }
}
我在CustomAttribute
中使用Employee
作为
public class Employee
{
public string Name { get; set; }
public Int32 Salary { get; set; }
public DateTime DateOfBirth { get; set; }
}
public class Employee
{
[CustomAttributes(Sequence=1,Length=10)]
public string Name { get; set; }
[CustomAttributes(Sequence = 2, Length= 6)]
public Int32 Salary { get; set; }
[CustomAttributes(Sequence =3, Length = 8)]
public DateTime DateOfBirth { get; set; }
}
我想验证每个属性定义的属性集合应该存在。
如果我将新属性Age
添加到'Employe`为
public class Employee
{
[CustomAttributes(Sequence=1,Length=10)]
public string Name { get; set; }
[CustomAttributes(Sequence = 2, Length= 6)]
public Int32 Salary { get; set; }
[CustomAttributes(Sequence =3, Length = 8)]
public DateTime DateOfBirth { get; set; }
public int Age {get;set;}
}
由于缺少属性,我应该得到编译时错误。这将确保写作 属性值到该类的每个属性以及来自同一程序集的类。
对于没有属性值的属性,我应该得到编译时错误。
答案 0 :(得分:0)
无法为此生成编译时错误。但是,您可以在单元测试或#debug
构建中使用反射执行某些操作 - 只需遍历属性,然后检查Attribute.IsDefined(property, typeof(CustomAttributes))