为什么委托可以使用只带一个参数的构造函数来实例化?

时间:2017-01-22 08:43:01

标签: c# delegates

我正在用C#学习代表。

阅读this Microsoft C# Documents时,注意到以下代码。

// Declare a delegate. 
delegate void Del(string str);

// Declare a method with the same signature as the delegate. 
static void Notify(string name)
{
    Console.WriteLine("Notification received for: {0}", name);
}

// Create an instance of the delegate.
Del del1 = new Del(Notify);    //why delegate can be initialized by this way.

从此answer

  

委托关键字是让编译器为你做一些魔术。   当您使用自定义签名声明新委托时,

     

编译器为您从MulticastDelegate派生的新类型   (反过来来自代表)。

所以Del是从MuticastDelegate派生的类型。但MulticastDelegate和Delegate都没有只带一个参数的构造函数。 该代码如何工作?

Del del1 = new Del(Notify);

编译器是否对此做了什么?

0 个答案:

没有答案