プロパティの宣言を簡略化します。
※ 自動実装プロパティを使用できるのは、C#3.0 (Visual Studio2008) 以降です。
アクセサの実装コードをセミコロン (;) に置き換えることで、自動実装プロパティとなります。なお自動実装プロパティには、getとsetの両方のアクセサが必ず必要です。
| 通常のプロパティ | 自動実装プロパティ |
|---|---|
class Class
{
private int a;
public int A
{
get { return a; }
set { a = value; }
}
}
|
class Class
{
public int A
{
get;
set;
}
}
※ プロパティのフィールド (バッキング フィールド)
はコンパイラによって自動的に作成される。 |
アクセサはgetとsetの両方が必ず必要となるため、それを削除するのではなくアクセス修飾子を使用します。
| 通常のプロパティ | 自動実装プロパティ |
|---|---|
class Class
{
private int a;
public int A
{
get { return a; }
}
}
|
class Class
{
public int A
{
get;
private set;
}
}
|