1

デフォルトのプロパティを想像してみてください。

class Positive {
  public int Value { get; set; }
}

前提条件を追加したいと思いsetます。値は正の値のみであるということです。メンバー変数ボイラープレートを追加せずにそれを行うことは可能ですか?

  public int Value { get;
     set {
        if(value < 0) throw new ArgumentOutOfBoundsException();
        // continue doing 'the default thing'
        // instead of `value_=value`, mirrored by a change in the
        // get, and adding the `int value_` member variable
     }
  };
4

1 に答える 1

10

いいえ、必要なことを行うには、プロパティを明示的に宣言する必要があります。自動的に実装されたプロパティは、とにかく長い構文の省略形であるため、にロジックを追加するには、getまたはset手動でコーディングする必要があります。

于 2012-08-04T14:37:20.503 に答える