有没有办法使用一个具有多个属性的数据注释/属性?

时间:2013-10-28 21:54:33

标签: c# entity-framework data-annotations

是否可以为多个属性使用单个数据注释/属性?

而不是:

[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]属性?

2 个答案:

答案 0 :(得分:5)

没有办法专门做那个。

如果您的目标是最小化键入并添加验证类型的所有成员的单个属性,则可以创建自定义验证属性并将其应用于该类型。它可以使用反射来提取类型的所有属性并检查它们。

答案 1 :(得分:1)

没有。

需要将属性明确应用于每个属性。

我不确定你想在这里保存什么。编码工作只是一个复制和粘贴,如果所需的字段发生了变化,您必须重新排列代码,而不是仅仅从修改后的属性中添加或删除属性。

编译器如何知道何时停止应用[Required]属性?

如果在不同的属性集上有多个属性,您将如何安排代码?