最終更新:2020-04-06 (月) 16:43:49 (61d)  

C♯/プロパティ
Top / 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 };

参考