C♯, C#相談室 Part36
■ このスレッドは過去ログ倉庫に格納されています
0593580
2007/01/05(金) 12:02:09質問が分かりにくくてすいません。
やりたいことはたとえば独自のテキストボックスでテキストが変わったときにバインドされたインスタンスのフィールドを直接変えることです。
その際にバインドされるインスタンスは特定の型に依存しないようにしたいと思っています。
つまりどんなクラス、ストラクトでもFieldとしてpublicのstringを持っていてそれを指定されればテキストボックスとバインドできるようにしたいんです。
>>582 今回の場合はインスタンスが動作時にインジェクトされる可能性があるため静的には動作の記述のみにしようと考えています。
>>583 使う型ごとにGenericsで専用のテキストボックスを作るという考え方はありですが、その型にテキストボックスバインド用のインターフェースを作るわけにはいきません。
あるクラスでstringのフィールドが複数あった場合におのおの別のテキストボックスにバインドすることもありえますから。
>>587 フィールドでなくプロパティ限定にしてsetter,getterのデリゲートとバインドさせるのはありかもしれません。
myTextBox.Bind(typeof(MyClass),"Name",BindGet|BindSet);
こんなかんじでしょうか?
>>589 これはリフレクション使う前提で文字列にしているだけであって文字列として記述しないですむならそれに越したことはないです。Lispみたいに文法拡張できれば済む話でしょうね。
リフレクション使えばまぁ満足できるコード記述量で望みの動作できそうですがいまいちエレガントでないきがしてます(´・ω・`)
■ このスレッドは過去ログ倉庫に格納されています