2011-08-08 5 views
3

行うことに許可されています:セッターとゲッターはすばやく簡単ですか?

public int Age 
{ 
get; 
set; 
} 

が、アプリケーションが変数のためのスペースを割り当て/作成するのでしょうか?私は通常やります

private int age = 0; 
public int Age 
{ 
get { return this.age; } 
set { this.age = value; } 
} 

答えて

6

はいそうです。 ILを見ると、プロパティのバッキング変数が作成されていることがわかります。

+1

@ Jason94 - Tomasの答えをバックアップして、Bart De Smetに[非常に徹底的なブログ記事があります](http://community.bartdesmet.net/blogs/bart/archive/2007/03/03/c-3-0 -automatic-properties-explan.aspx)に必要なすべての詳細情報を入力します。 –

2

コンパイラは、作業を保存する空のgetまたはsetブロックが見つかると、コンパイル時に自動的にバッキングフィールドを生成します。追加のフィルタリングロジックを持つgetブロックとsetブロックを追加することはできますが、もちろんそれらのすべてを入力する必要があります。

Auto Propertiesの詳細はこちらを参照してください。

関連する問題