おーみんだよ。

おーみんだよ。

プログラミング、Unityなどのアウトプットを主に行っています。

【C#】デリゲートとは?

f:id:bookreadkun:20190627162005p:plain

おはようございます。おーみん(@Ooooooomin_365)です。

 

現在プログラミング言語「C#」のお勉強中です。

今回はデリゲートについて、学んだ内容をまとめていこうと思います。

 

デリゲートとは?

デリゲートは、英語で「委任する」という意味があります。

メソッドを直接実行するのではなく、デリゲートと呼ばれる関数が代わりに行うという感じですね。

 

デリゲートの使い方

使う際は以下のようにデリゲートを宣言します。

 

----------

delegate 型 デリゲートの名前(パラメータ);

----------

※具体的な例は以下のサンプルプログラムの6行目になります。

 

デリゲートを使ったサンプルプログラム

f:id:bookreadkun:20190627165102p:plain

 

19行目~25行目にかけてpracticeクラスとkansuメソッドを作り、それらを9行目~16行目のMainメソッドで呼び出しているという内容になっています。

 

11~12行目は通常の呼び出し、14~15行目はデリゲートに呼び出してもらっているという感じですね。

 

こうやって見ると両者使い方は似てますなw

---------------

【通常】

クラス名 クラス = new クラス名();

クラス.メソッド();

 

【デリゲート】

デリゲート名 デリゲート = new デリゲート名(クラス.メソッド);

デリゲート();

---------------

 

 

もちろんですが、出力結果も通常の呼び出し方とデリゲートに呼び出してもらう方法で違いはありません。

f:id:bookreadkun:20190627165831p:plain

 

最後に

以上でデリゲートについての説明は終了です。

参考になれば幸いです。