#author("2018-01-20T07:48:20+00:00","default:admin","admin") #author("2018-01-20T07:50:25+00:00","default:admin","admin") -[[C# によるプログラミング入門 > [関数指向] デリゲート:http://ufcpp.net/study/csharp/sp_delegate.html]] -[[デリゲートとは【C#】:http://kan-kikuchi.hatenablog.com/entry/Delegate]] -[[【LINQの前に】ラムダ式?デリゲート?Func<T, TResult>?な人へのまとめ【知ってほしい】:https://qiita.com/RyotaMurohoshi/items/740151bd772889cf07de]] *概要 [#nad66801] **デリゲートの機能 [#d905f74a] -デリゲートにはメソッドを参照し、 間接的なメソッド呼び出しを行う機能がある -デリゲートにはクラス(static)メソッドとインスタンス(非static)メソッドのどちらでも代入することができる -デリゲートには += 演算子を用いることで、複数のメソッドを代入することができる --複数のメソッドを代入した状態で、デリゲート呼び出しを行うと、代入した全てのメソッドが呼び出される --複数のメソッドを格納した状態のデリゲートのことをマルチキャストデリゲートと呼ぶ --マルチキャストデリゲートの呼び出しは、+= で代入した順に逐次実行される(並列実行はされない) --デリゲート呼び出しは非同期に行うことも可能