最終更新:2020-04-06 (月) 16:43:49 (1474d)
C♯/プロパティ
メモ
- value?という名前の変数に代入された値が格納される。
プロパティ
- クラス内部から見るとメソッドのように振る舞い、 クラス利用側から見るとメンバー変数のように振舞う
アクセスレベル 型名 プロパティ名 { set { // setアクセサー(setter とも言う) // ここに値の変更時の処理を書く。 // value という名前の変数に代入された値が格納される。 } get { // getアクセサー (getter とも言う) // ここに値の取得時の処理を書く。 // メソッドの場合と同様に、値はreturnキーワードを用いて返す。 } }
例
class Hoge{ private double re; // 実部を記憶しておく public double Re { set{re = value;} get{return re;} } }
C♯ 2.0
- set/get で異なるアクセスレベル(privateとか)を設定できるようになった
C♯ 3.0
- C♯/自動プロパティ
public string Name { get; set; }
- とすると下記のようなコードが生成される。__nameにはアクセス出来ない
private string __name; public string Name { get { return this.__name; } set { this.__name = value; } }
オブジェクト初期化子
Point p = new Point{ X = 0, Y = 1 };