【C#】デリゲードとは何か

2019年4月17日

デリゲートについて分かりやすく説明します。

僕も難しい概念の1つでした。でもちゃんと読み解けばそんな難しいことではありません。

理解できない要因の1つとして使い道が分からないからだと思いました。

なるべく僕が分かるように説明します。

メソッドには変数を引数として入れることが出来ますよね?

こうやって引数を受けてその受けた引数を使って処理を実行します。

デリゲードはメソッドを入れられる変数です。

デリゲードは日本語で委託とか委譲という意味で、デリゲートはある程度のことは決めておいて、何をするのかという処理は、メソッドに決めてもらう、何をするかはまだ決めていない状態を示します。

stringを引数とするけど具体的に何をするかはメソッドに任せるよっとしておいて、後から処理を定義します。

具体的にどういう時に使うかというとイベントハンドラーがまさしくそれです。

マウスがクリックされた時、マウスのポイントがある地点に着いた時、エンターキーが押された時に何を処理するかは自分で決めることが出来ます。

イベントハンドラーの本質はデリゲードです。

発生イベントの処理をイベントハンドラーに渡していることになります。

Program

Posted by ganchan