C# 声明、实例化和使用委托的几种方法?

1.在 C# 1.0 及更高版本中,可以按以下示例所示声明委托。

// 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);
// 调用委托:
del1("参数");

2.C# 2.0 提供了更简单的方法来编写上面的声明,如以下示例所示。

// Instantiate Del by using an anonymous method.
Del del3 = delegate(string name)
{ Console.WriteLine("Notification received for: {0}", name); };
//调用委托:

3.在 C# 3.0 及更高版本中,还可以使用 Lambda 表达式来声明和实例化委托,如以下示例所示。

// Instantiate Del by using a lambda expression.
Del del4 = name =>  { Console.WriteLine("Notification received for: {0}", name); };
//调用委托:
del4("参数");