関数を変数のように扱う機能をデリゲート(委譲)といいます。 まずデリゲートの型を作ります。
アクセシビリティ delegate 戻り値の型 デリゲート名(引数リスト);
変数の作り方は他と同じです。 変数を関数のように呼び出すと登録された関数を呼び出すことができます。
LinqPadのLanguageをC#Programにしておきましょう。 以下の文字を入力し実行しましょう。
void Main()
{
A a = f;
a();
}
delegate void A();
void f()
{
1.Dump();
}
デリゲートは複数の関数を登録することができます。
LinqPadのLanguageをC#Programにしておきましょう。 以下の文字を入力し実行しましょう。
void Main()
{
A a = f;
a+=f2;
a();
a-=f;
a();
}
delegate void A();
void f()
{
1.Dump();
}
void f2()
{
2.Dump();
}
関数を