正しく理解しているかどうかを確認したかっただけです。getの戻り値は、戻り値をプライベートインスタンスデータと等しくします。また、設定値により、パブリック値の値がプライベートインスタンスの値と等しくなります。私はこれを正しく理解していますか?
質問する
266 次
2 に答える
5
常にではない。
Get
プロパティの値がどうあるべきか開発者が考えているものを返しset
、開発者がデータの保存に適していると判断したものを変更します。多くの場合、プロパティと内部フィールドの間に 1 対 1 のマッピングがありますが、常にではありません。
int UltimateAnswer {get {return 42;}} // no internal field at all
int Direct
{
get {return _direct;}
set {_direct = value;}
}
int WithConversion
{
get {return _stored * 100;}
set { _stored = value / 100;}
}
int AutoFiled {get;set;} // this one directly maps to automatically created field.
于 2012-07-03T04:43:17.250 に答える
4
プロパティが次のように定義されている場合:
private int _value;
public int Value
{
get { return _value; }
set { _value = value; }
}
次に、はい、get はプライベート フィールドの値を返し、_value
set は設定します_value
が、異なる場合もあります。
public int Value
{
get { return getCalculatedValue() }
set {
if (_value > 0)
{
_value = value;
}
else
{
_value = -1;
}
}
}
上記の例では、get は指定された関数から計算値を返しgetCalculatedValue()
、set は条件の値を検証してから適切に設定しています。
于 2012-07-03T04:42:50.387 に答える