C#デリゲートの構文と使用法


  1. デリゲートの宣言: デリゲートを宣言するには、delegateキーワードを使用します。以下は、引数がなく戻り値もないデリゲートの例です。
delegate void MyDelegate();

引数や戻り値がある場合は、それらの型をデリゲートの宣言に含めます。

  1. デリゲートのインスタンス化と呼び出し: デリゲートを使用するには、デリゲートのインスタンスを作成し、メソッドを割り当てます。以下は、デリゲートのインスタンス化と呼び出しの例です。
MyDelegate myDelegate = new MyDelegate(SomeMethod);
myDelegate();

SomeMethodは、デリゲートが参照するメソッドです。デリゲートの呼び出しは、インスタンス名に括弧を付けて行います。

  1. 匿名メソッド: デリゲートには、匿名メソッドを使用することもできます。以下は、匿名メソッドを使用したデリゲートの例です。
MyDelegate myDelegate = delegate ()
{
    // 匿名メソッドの処理
};
myDelegate();

匿名メソッドは、デリゲートの宣言と同じ場所で定義されます。

  1. ラムダ式: C# 3.0以降では、ラムダ式を使用してデリゲートを簡潔に宣言することもできます。以下は、ラムダ式を使用したデリゲートの例です。
MyDelegate myDelegate = () =>
{
    // ラムダ式の処理
};
myDelegate();

ラムダ式は、=>の前に引数を指定し、=>の後に処理内容を記述します。

これらはC#デリゲートの基本的な構文と使用法の一部です。デリゲートは、イベントハンドリングや非同期プログラミングなど、さまざまなシナリオで役立ちます。詳細な使用法や応用的なトピックについては、C#の公式ドキュメントや他のリソースを参照してください。