2

私は単純な値を使用しますが、値を使用したことはありません。(エンティティ名)。それで混乱します。現在の値を取得するために値を使用すると思いますが、ここでは理解できませんでした。

  public Tax Tax
        {
            get
            {
                return _taxListing.Tax;
            }
            set
            {
                _taxListing.Tax = value;
                RaisePropertyChanged("Tax");

                Percent = value.Percent;
            }
        }

plzはそれを説明します。

4

2 に答える 2

3

valueセッターで割り当てられる値の特別な名前です。そのタイプは、割り当てられているプロパティのタイプと同じです。この場合はTaxです。

タイプの他の変数でできることは何でも、で行うTaxことができますvalue。したがって、Taxというプロパティがある場合は、Percentそのプロパティにとしてアクセスできますvalue.Percent

于 2012-05-20T01:33:48.523 に答える
0

value呼び出された割り当ての右側を保持します。

例えば:

myInstance.Tax = new Tax();

これが実行されるとvaluesetブロック内のはインスタンス化されたと等しくなりますnew Tax()

したがって、にアクセスしているときは、設定されたスコープに送信されたのプロパティにvalue.Percentアクセスしています。これは、最初の行がで、その後に。の代わりに行った場合とまったく同じになります。Percentnew Tax()this._tax = value;this._tax.Percentvalue.Percent

私がそのようなプロパティを持っている場合:

public int Num
{
    get { return this._num; }
    set
    {
        this._num = value;
        // other logic...
    }
}

そして私はします:

myInstance.Num = 41 + 1;

コードフローは次のとおりです。

  1. 結果として特定の値が返されるまで、右側が実行されます41 + 1 = 42

  2. 右側の結果(42 *)が左側に設定されます。この場合、これはプロパティであり、ステップ3を実行します。

  3. プロパティのsetブロックが入力され、に等しくなります。Numvalue42

  4. set-block inner-logicが実行され、おそらく値をプライベートメンバーなどに設定します。


*人生、宇宙、そしてすべての究極の質問への答え。

于 2012-05-20T01:33:47.543 に答える