デリゲート(delegate)とは
メソッドを参照するための型
デリゲート型の定義
delegate 戻り値の型 デリゲート型名(引数リスト);
デリゲート例(C# 1.1)
1 2 3 4 5 6 7 8 9 10 11 |
delegate void showValue(int a); static void Main() { showValue a = new ShowValue(A); a(123); } static void A(int n) { Console.WriteLine("{0}", n); } |
デリゲート例(C# 2.0)
1 2 3 4 5 6 7 8 9 10 11 |
delegate void showValue(int a); static void Main() { showValue a = A; a(123); } static void A(int n) { Console.WriteLine("{0}", n); } |
デリゲートの機能
- インスタンスメソッドの代入 – クラス(static)メソッドとインスタンス(非static)メソッドのどちらでも代入可
- 複数のメソッドを代入 (+=演算子を使用) – マルチキャストデリゲート
- 非同期呼び出し
参考サイト
デリゲート – C# によるプログラミング入門 | ++C++; // 未確認飛行 C
https://ufcpp.net/study/csharp/sp_delegate.html