C#声明、实例化和使用委托

// 声明一个委托.
delegate void Del(string str);

// 声明一个与委托签名相同的方法.
static void Notify(string name)
{
    Console.WriteLine("Notification received for: {0}", name);
}
// C# 1.0 和更高版本中创建一个Del委托实例.
Del del1 = new Del(Notify);
// C#2.0提供了一种更简单的方法来声明Del的实例
Del del2 = Notify;
// 在 C# 2.0 和更高版本中,还可以使用匿名方法来声明和初始化委托.
Del del3 = delegate(string name)
    { Console.WriteLine("Notification received for: {0}", name); };
// 在 C# 3.0 和更高版本中,,还可以通过使用lambda表达式来实例化Del。
Del del4 = name =>  { Console.WriteLine("Notification received for: {0}", name); };