- 2007年9月21日 02:11
- Visual Studio 2008
C#3.0で実装された機能で、弁慶フレームワークに影響を与えそうなものが、この2つです。
自動プロパティ
自動プロパティを使うことで、プロパティの記述をかなり省略できます。
従来であれば、privateなメンバ変数を用意し、このメンバ変数へのアクセサとしてプロパティを定義していたのですが、以下のように書くことができるようになります。
メンバ変数を省略するため、直接メンバ変数を操作できなくなるデメリットがありますが、弁慶フレームワークのEntityクラスのように、プロパティだらけのクラスの場合はすっきりさせることができます。
// 従来の場合 private string _test;public string Test
{
get
{
return _test;
}
set
{
_test = value;
}
}
// 自動プロパティの場合
public string Test { get; set; }
イニシャライザ
プロパティの定義だけでなく、プロパティの利用も簡略化可能になります。
従来、プロパティの初期値をセットする場合、オブジェクトを new した後、各プロパティをいちいちセットしていました。
プロパティが多い場合は、オーバーロードされたコンストラクタを用意しておき、一気にセットする方法も考えられます(というか、弁慶フレームワークではこうなっています)。
新たに追加されたイニシャライザでは、{ } を使って、まとめてセットすることができるようになります。
ついでに言っておくと、このイニシャライザは大変優秀で、コレクションの初期値を設定することもできます。使い方は同じです。
// 従来の場合 Test test = new Test(); test.Name = "Hoge"; test.Address = "Moge"; test.Age = 20;
// イニシャライザの場合
Test test = new Test { Name = "Hoge", Address = "Moge", Age = 20 };
弁慶フレームワークのEntityは、メンバ変数とイニシャライズ可能なコンストラクタが無くなることになりそうです。
Comments:0
Trackbacks:0
- TrackBack URL for this entry
- http://magicbox.sakura.ne.jp/mt/mt-tb.cgi/448
- Listed below are links to weblogs that reference
- 自動プロパティ、イニシャライザ from 爆裂!C#野郎