6

複数のプロパティに対して単一のデータ注釈/属性を使用することは可能ですか?

それ以外の:

[Required]
public string Name {get;set;}
[Required]
public string Something {get; set;}
[Required]
public string Everything {get;set;}

3 つのプロパティに対して 1 つの属性:

[Required]
public string Name {get;set;}
public string Something {get; set;}
public string Everything {get;set;}

2 番目のコード ブロックが Name を非 null に設定するだけであることはわかっていますが、1 つの [Required] 属性だけで 3 つのプロパティすべてを非 null にする方法はありますか?

4

2 に答える 2

5

それを具体的に行う方法はありません。

入力を最小限に抑え、型のすべてのメンバーが設定されていることを確認する単一の属性を追加することが目標である場合は、カスタム検証属性を作成して型に適用できます。リフレクションを使用して、型のすべてのプロパティを引き出してチェックすることができます。

于 2013-10-28T22:01:05.143 に答える
1

いいえ、ありません。

属性は、各プロパティに明示的に適用する必要があります。

ここに何を保存したいのかわかりません。コーディング作業は単にコピーして貼り付けるだけです。必須フィールドが変更された場合は、変更されたプロパティに属性を追加または削除するだけでなく、コードを再配置する必要があります。

[Required]コンパイラは属性の適用をいつ停止するかをどのように知るのでしょうか?

異なるプロパティのセットに複数の属性がある場合、コードをどのように配置しますか?

于 2013-10-28T21:58:17.160 に答える