私は 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);