今回で細かく「delegate」は終わりです。
delegateとは
結局、デリゲートはメソッドを表す型で、定義した型にメソッドを「代入をする」もしくは「代入をしてもらう」ことで、代入されたメソッドの本体を呼び出すことが出来る。それ以上でもなく、それ以下でもない。
ただこの性質を利用すると、プログラミングする上でコードが綺麗になったりコーディングが楽になることは多分にある。
具体的な利用する場面・用途についてはまた追々記事にすることにして、今回細かくdelegateを見てきたが、delegateの本質は
「そこにメソッドの本文を記載しないこと」
「だがメソッドを呼び出すことが出来ること」
といった曖昧さにあると思う。
この曖昧さをコードに残したまま、しかし機能するものが作れる。
使い方次第でコーディングに要する時間が大きく変化する機能だろう。
まとめ
- delegate(デリゲート)とはメソッドを表すための型である。
- 定義した型で変数を宣言でき、「=」や「+=」でメソッドを代入できる。
- 変数を利用すると代入したメソッドを呼び出すことができる。その変数を他のメソッドの引数や戻り値として渡すこともできる。
- 呼び出すメソッドは非同期に呼び出すこともできる。
- 実際には汎用デリゲートを用いると定義不要で読みやすくなる。
参考:
山田祥寛(2017) 『独習C# 新版』翔泳社.
.NET API Browser,<https://docs.microsoft.com/en-us/dotnet/api/>