3

私は C# が初めてで、 s について2 つの質問がありdelegateます。

MSDNは、Delegateクラスには 2 つのコンストラクタしかなく、どちらもそれぞれ 2 つの引数を取ることを示しています。ただし、以下のプログラムではDelegate、一見 1 つのパラメーターのコンストラクターを使用してオブジェクトをインスタンス化しています (コメント行を参照)。

using System;

static class Program
{
    public delegate void MyDelegate();

    static void MyMethod()
    {
        Console.WriteLine("I'm inside MyMethod!");
    }

    static void Main()
    {
        MyDelegate myDelegate = new MyDelegate(MyMethod); // Constructor Call
        myDelegate();
    }
}

私は何か誤解していますか?

2 つ目の質問は、1 つ以上のパラメーターを指定して s を宣言するときdelegate、なぜパラメーターに名前を付ける必要があるのですか? C++ では、クラス内で次のようなことができます。

public delegate void MyOtherDelegate(int, int, string);
4

2 に答える 2