[C#] デリゲート

デリゲート(delegate)とは

メソッドを参照するための型

デリゲート型の定義

delegate 戻り値の型 デリゲート型名(引数リスト);

デリゲート例(C# 1.1)

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)

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