我是 C# 新手,有两个关于delegate
s 的问题。
MSDN显示Delegate
该类只有两个构造函数,每个构造函数都有两个参数。然而,在下面的程序中,我Delegate
用一个看似单参数的构造函数来实例化一个对象(见注释行)。
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();
}
}
我是不是误会了什么?
我的第二个问题是:在声明delegate
一个或多个参数的 s 时,为什么我们需要给参数命名?在 C++ 中,我们可以在类中做这样的事情:
public delegate void MyOtherDelegate(int, int, string);