随着C#语言的发展委托的声明方式也发生了变化,当然所有的语法都是向下兼容的。至于使用哪种声明方式就要根据具体情况和个人喜好了。下面我们就来看看委托的声明方式:
一、委托的声明方式
1、在 C# 1.0 和以后,下面的方式可以声明委托。
//1、声明委托
public delegate void PublishBook();
//2、声明一个和委托有一样签名的方法
public static void ReadCSharpBook()
{
Console.WriteLine("Im Reading C Sharp Book Now!!");
}
//3、创建一个委托实例
PublishBook pck = new Publisher.PublishBook(ReadCSharpBook);
2、C# 2.0 提供了更简单的方法来编写在以前的声明,如下面的示例所示。
//1、声明委托
public delegate void PublishBook();
//2、声明一个和签名和委托一样的方法
public static void ReadCSharpBook()
{
Console.WriteLine("Im Reading C Sharp Book Now!!");
}
//3、创建一个委托实例
PublishBook pck = ReadCSharpBook;
3、在 C# 2.0 和更高版本中,也可能是到下面的示例所示声明并初始化一个 委派 ,使用匿名方法。
PublishBook pck= delegate()
{
Console.WriteLine("Im Reading C Sharp Book Now!!");
};
4、在 C# 3.0 和更高版本,委托可还声明和实例化使用一个 lambda 表达式,如下面的示例所示。
Publisher.PublishBook pck = ()=>
{
Console.WriteLine("Im Reading C Sharp Book Now!!");
};
拓展阅读:
匿名方法:http://msdn.microsoft.com/zh-cn/library/0yw3tz5k.aspx
Lamdba表达式:http://msdn.microsoft.com/zh-cn/library/bb397687.aspx
参考文献
1、http://msdn.microsoft.com/zh-cn/vstudio/ms173176(en-us,VS.85).aspx