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; }

すべての属性 (DataType、Required、StringLength、DisplayName) とそのコンストラクターを介したセットを「継承」するクラスを作成できますか? 例:

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

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

2 に答える 2

3

一般的に、いいえ。

ただし、検証属性については、既存の属性のすべてのロジックを含む独自の検証属性を作成できます。

をエミュレートする[DataType]には、実装する必要がありますIMetadataAware

于 2012-07-27T18:35:26.027 に答える
2

C# には多重継承がないため、これを行うことはできません。

ただし、これらの属性のすべての機能を組み込んだ独自の属性を作成することはできます。

于 2012-07-27T18:35:39.713 に答える