5.演習・課題-3.リファクタリングデリゲートは作成するアプリケーションの性質によっては全くお目にかからない(使う必要にならない)機能ですので、イマイチ使いどころが分からないかもしれません。そこで、デリゲートの恩恵が受けられる場面を3回に渡って説明しようと思います。共通処理を動的に分ける例えば以下の処理を考えます。ボタン特有の処理が共通処理の間に挟まれている状況です。Console.WriteLine("共通処理");}なお、わかりやすいようにConsole.WriteLineを使用していますが、実際はもう少し長い処理を考えます。このプログラムをリファクタリングしようと思った時、少しでもプログラミングをしたことがある方なら、処理を別メソッド(VB.NETで言うサブプロシージャ)化しちゃえばいいと言うでしょう。以下のような処理に変更するのではないでしょうか。Sub共通処理をまとめて、引数flgによって特別な処理を分岐する方法です。これで未来永劫完結する場合であれば問題ありませんが、button3が増えるとどうなるでしょうか。Case)する必要があります。これでは手続き型と何ら変わりませんし、主要処理をさわる必要がありますので当然バグチェックはbutton1とbutton2もbutton3と同じようにする必要があります。改廃作業にとてつもなく長い時間と労力が必要になります。変更が発生しなくなったとしても、flg=1がbutton1という関連性をいつまで覚えておく必要がありますので、何か問題があってコードを読み返した時、非常に面倒なことになります。ここでデリゲートの登場です。特別処理が以下の原則に一致するようであれば、デリゲートを使えば変更に強いコードにすることが可能です。Subメソッドの数は増えましたが、デリゲートを導入しただけで以下のメリットが増えました。1(共通処理)Tweet広告を非表示にする関連記事2019-04-27ポリモーフィズム(インターフェース)インターフェースでポリモーフィズムを実現します。Javascriptからクリップボードを設定はてなブログをはじめよう!sasaki816さんは、はてなブログを使っています。ブログを報告するスターをつけました引用をストックしましたストック一覧を見る閉じる引用するにはまずログインしてくださいログイン閉じる引用をストックできませんでした。再度お試しください閉じる限定公開記事のため引用できません。