您的位置:首页 > 其它

浅谈委托和事件之委托的声明方式

2011-07-07 16:55 369 查看
随着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
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: