2012-07-27 59 views
2

我有这些特性(A,B):多个属性在一个?

[DataType(DataType.MultilineText)] 
[Required(ErrorMessage = "A is required"), DisplayName("A")] 
[StringLength(Constants.MaximunStringSize)] 
public string A { get; set; } 

[DataType(DataType.MultilineText)] 
[Required(ErrorMessage = "B is required"), DisplayName("B")] 
[StringLength(Constants.MaximunStringSize)] 
public string B { get; set; } 

我可以创建一个类“继承”的所有属性(数据类型,所需,StringLength,显示名称),并设定通过它的构造函数?例如:

[MyAttribute("A","A is required")] 
public string A { get; set; } 

[MyAttribute("B","B is required")] 
public string B { get; set; } 
+0

您只能从_one_父项继承。 C#不支持多重继承。 – Oded 2012-07-27 18:34:55

+0

非常感谢Oded,所以我在这个词的遗产周围加了引号。对不起我的英语不好。 – 2012-07-27 18:48:14

回答

3

一般来说,没有。

但是,对于验证属性,您可以创建自己的验证属性,其中包含现有属性中的所有逻辑。

要效仿[DataType],您需要实施IMetadataAware

2

在C#中没有多重继承,所以不,你不能这样做。

然而,您可以编写自己的属性,该属性包含这些属性的所有功能。