是否可以为多个属性使用单个数据注释/属性?
而不是:
[Required]
public string Name {get;set;}
[Required]
public string Something {get; set;}
[Required]
public string Everything {get;set;}
三个属性的一个属性:
[Required]
public string Name {get;set;}
public string Something {get; set;}
public string Everything {get;set;}
我知道第二个代码块只将Name设置为not null,但有没有办法让所有三个属性都不为null而只有一个[Required]属性?
答案 0 :(得分:5)
没有办法专门做那个。
如果您的目标是最小化键入并添加验证类型的所有成员的单个属性,则可以创建自定义验证属性并将其应用于该类型。它可以使用反射来提取类型的所有属性并检查它们。
答案 1 :(得分:1)
没有。
需要将属性明确应用于每个属性。
我不确定你想在这里保存什么。编码工作只是一个复制和粘贴,如果所需的字段发生了变化,您必须重新排列代码,而不是仅仅从修改后的属性中添加或删除属性。
编译器如何知道何时停止应用[Required]
属性?
如果在不同的属性集上有多个属性,您将如何安排代码?