C#におけるデリゲートの宣言方法と使用例


デリゲートの宣言方法はいくつかあります。以下に代表的な方法をいくつか紹介します。

  1. シンプルなデリゲートの宣言:

    delegate void MyDelegate(string message);

    上記の例では、MyDelegateという名前のデリゲート型を宣言しています。このデリゲートは引数としてstring型のmessageを受け取り、戻り値はありません。

  2. デリゲートを使用したメソッドの呼び出し:

    void DisplayMessage(string message)
    {
    Console.WriteLine(message);
    }
    MyDelegate del = new MyDelegate(DisplayMessage);
    del("Hello, World!");

    上記の例では、DisplayMessageというメソッドをデリゲートに代入し、デリゲートを介してメソッドを呼び出しています。

  3. マルチキャストデリゲートの宣言と使用:

    delegate void MyDelegate(string message);
    void DisplayMessage1(string message)
    {
    Console.WriteLine("DisplayMessage1: " + message);
    }
    void DisplayMessage2(string message)
    {
    Console.WriteLine("DisplayMessage2: " + message);
    }
    MyDelegate del = DisplayMessage1;
    del += DisplayMessage2;
    del("Hello, World!");

    上記の例では、MyDelegateというデリゲート型を使用して複数のメソッドを呼び出すことができます。デリゲートに複数のメソッドを追加するには、+=演算子を使用します。

  4. ラムダ式を使用したデリゲートの宣言と使用:

    MyDelegate del = message => Console.WriteLine(message);
    del("Hello, World!");

    上記の例では、ラムダ式を使用してデリゲートを宣言し、メソッドの本体を簡潔に記述しています。

デリゲートはイベント処理や非同期プログラミングなど、さまざまな場面で活用されます。この投稿では基本的なデリゲートの宣言方法と使用例を紹介しましたが、さらに高度な使用方法や応用的なテクニックも存在します。