C#のデリゲート
C#ではメソッドを参照することができる型、デリゲートという機能があります。
デリゲートとは代表あるいは委譲という意味で、機能としてはC/C++の関数ポインタとほぼ同様のものです。
デリゲートの定義
C#ではキーワード「delegate」を使用して以下のようにデリゲートを定義します。
delegate 戻り値 デリゲート名(引数1, 引数2, ...);
上記のようにデリゲートを定義することにより、定義したシグネチャと同様のシグネチャを持つメソッドを、 定義したデリゲートの型として扱うことができるようになります。
デリゲートの例
以下はデリゲートを使用した例です。
// デリゲートの定義 public delegate void DelegateMethod(string msg); class Sample { public static void Main(string[] args) { DelegateMethod d = new DelegateMethod(Method); d("デリゲートメソッド呼出し"); } public static void Method(string msg) { System.Console.WriteLine(msg); } }