C#, C♯, C#相談室 Part42at TECHC#, C♯, C#相談室 Part42 - 暇つぶし2ch■コピペモード□スレを通常表示□オプションモード□このスレッドのURL■項目テキスト400:デフォルトの名無しさん 07/09/06 15:04:40 interfaceでは大げさすぎる場合も多いし、例えばイベントハンドラを インタフェースとして実装した場合、同じWidgetを複数個持とうとするとに インタフェースが衝突する、といった問題が生じる。Javaではこれを解決 するのに一々ゴテゴテと無名クラスを記述する羽目になり、実に馬鹿馬鹿しい限りだ。 ラムダ式が無くとも、delegateであれば上記の問題は普通に解決することが 出来る。 まあ、処理を汎用化したり(例えば描画ルーチンに、PixelをPutする ルーチンだけdelegateとして与えられるようにすれば、汎用になる)、 テーブルジャンプっぽく使ったり(メニュー等のindexとdelegateの配列を 結びつけたりする)、意思決定と実行のタイミングが分かれている場合に、 意思決定→delegate変数に保存→delegateを用いて実行といったことをやったり (実行が何度も行われる際に、無駄な条件分岐を完全に取り除くことが出来る)、 色々と応用範囲は多い。 401:デフォルトの名無しさん 07/09/06 15:17:17 delegate使うとエディットコンティニューでやり直しになるのがデメリット 次ページ最新レス表示レスジャンプ類似スレ一覧スレッドの検索話題のニュースおまかせリストオプションしおりを挟むスレッドに書込スレッドの一覧暇つぶし2ch