6

私は WCF RIA サービスを使用しており、属性を使用したサンプルに遭遇しました。

[StringLength(10, ErrorMessage="Too long")]
public string FirstName { get; set; }
...

属性は WCF RIA に限定されませんが、疑問を思い出しました: 検証ルーチンを「昔ながらの方法」でコーディングするのに、宣言型または属性ベースのプログラミングが適しているのはなぜですか?

ありがとう、

スコット

4

4 に答える 4

7

コードを実行しなくても制約を発見できるからです。リフレクションを使用すると、これらの制約にアクセスできます。

于 2010-09-02T05:16:36.740 に答える
1

最大の利点は再利用性です。一度設定すると (名前、必須、正規表現など)、WCF アプリや MVC アプリで使用でき、すべての一貫性が保たれるのは素晴らしいことです。

于 2010-09-02T05:17:09.900 に答える
0

属性ベースのプログラミングが「昔ながらの方法」の検証よりも優れているというわけではありません。一般に:

  1. それはよりきれいに見えます(少なくとも私には)
  2. コード検証を配置する場所を見つけるよりも、メソッド/プロパティの上に属性を平手打ちする方が少し簡単です

それ以外の場合、両方のアプローチに大きな違いはありません。

于 2010-09-02T05:20:37.550 に答える
0

属性を使用する際に考慮すべきことの 1 つは、属性が検出可能であるため、ビジネス レベルのクライアント側の検証を追加するために使用できることです。

于 2010-09-02T06:38:28.773 に答える