C#_プロパティの自動実装機能(自動実装プロパティ)

getter / setter ( アクセサ― ) の簡略記述C# 3.0 から実装された。( 糖衣構文 )
get / set する以外処理ない時は 自動実装プロパティの方が記述が楽。

 

    public int HogeData { get; set; }

 

HogeData プロパティ自体に値が保持される。
なお、 set のみだとエラー。

 

アクセスレベルをつける

    public int HogeData { get; private set; }

get もアクセス制限を変更可

 

HogeData の初期値を設定

    public int HogeData { get; set; } = 10;

C# 6 ( Visual Studio 2015 ) 以降。

 

+ α

内部的には Backing Field ( バッキング フィールド )と呼ばれる
隠しフィールドを利用して保持してる。
( リフレクションを利用しない限り触ることができない )

backing:後援、支持。

 

 

こちらから。
https://qiita.com/ShirakawaMaru/items/5f8bd065b1a4d2fdc8e0
http://csharp.keicode.com/basic/auto-impl-properties-internal.php
http://unitygeek.hatenablog.com/entry/2017/04/15/143053
http://blog.xin9le.net/entry/2014/06/12/151748
http://ufcpp.net/study/csharp/oo_property.html
http://ufcpp.net/study/csharp/ap_ver6.html

 

以上。