getとset
例:
class Section
{
private string _sample;
public string Sample
{
get
{
return _sample;
}
set
{
_sample = value;
}
}
}
まずこの例の3行目のprivate string _sampleによって
Sectionクラス全体からフィールド変数_sampleが使用できるようになります。
次に4行目のpublic string SampleではSampleプロパティをstring型で宣言しています。
*プロパティ名の頭文字が大文字なのが一般的
*フィールド名がsampleだったからといってSampleにする必要性自体はないが関連付けたほうがわかりやすい。
6行目~9行目の
get
{
return _sample;
}
はSampleプロパティに対して値の取得要求が来た場合の処理を記述します。
このプロパティはフィールド変数_sampleに格納されています。
この記述ならSampleプロパティが要求されたときに_sapleの値をreturnで返します。
最後に
set
{
_sample = value;
}
はSampleプロパティに対して値の設定要求が来た場合の処理を記述します。
プロパティに渡された値は常にvalueという変数に格納されます。
*valueとは
要するにvalueはsetとgetの中でのみキーワード扱いされ、それ以外では普通に変数名として使用されます。
valueの中身は例えばtest = 10って代入するとvalueの中にも10が代入された状態になります。