http://blogs.wankuma.com/rti/archive/2009/04/24/172035.aspx
データに知能を持たせる(その2)
http://blogs.wankuma.com/rti/archive/2009/04/22/171903.aspx
データに知能を持たせる
実際に手を加えながら使用してみた
手を加えてみたら、かずきさんとこのコードに近いものになった。
http://blogs.wankuma.com/kazuki/archive/2009/05/01/172319.aspx
(かずきのBlog)
なので、諸々パクったり、自分好みしたりしてみた。
よく使う使用パターンを機能追加できる拡張性が素晴らしいです。
public class Hoge {
public Property<int> Id { get; private set; }
public Property<string> Name { get; private set; }
public Property<string> Title { get; private set; }
public Property<int> Quantity { get; private set; }
public Hoge(int id, name, int quanity) {
this.Id = Property<int>.NewField(id);
this.Name = Property<string>.NewField(name);
this.Title = Property<string>.NewDelegate(
() => this.Id.Value.ToString() + ":" + this.Name.Value, x => {});
this.Quantity = Property<int>.NewField(quanity);
this.Quantity.PropertyChanged += (s, e) => {
// todo: バインディングも実装すみ
};
}
}
実装に興味がある人(質問など)は、かずきさんのところを見て下さいw
僕が手を加えたところで、わからない部分は無いとは思いますが、もしあったら言ってくれれば公開します。
#クラス名にジェネリック使っているから、シグ固定になっちゃって、型推論使えないんだよなーメソッド側に持たせればいいんかなー