博客园  :: 首页  :: 新随笔  :: 订阅 订阅  :: 管理

2010年4月20日

摘要: 小天:我觉得多少还是有点死板。有不有什么办法可以让委托更灵活,比如某个阶段我并不确定具体要调用的被委托方法名。或者根本不想专门为某个委托就写一个冷僻的方法。 老田:可以使用匿名方法。在 2.0 之前的 C# 版本中,声明委托的唯一方法是使用命名方法。C# 2.0 引入了匿名方法,而在 C# 3.0 及更高版本中,Lambda 表达式取代了匿名方法,作为编写内联代码的首选方式。不过,本章讨论的这些内容也同样也适用于 Lambda 表达式(稍后讨论)。有一种情况下,匿名方法提供了 Lambda 表达式中所没有的功能。匿名方法使您能够省略参数列表,这意味着可以将匿名方法转换为带有各种签名的委托。这对于 Lambda 表达式来说是不可能的。 要将代码块传递为委托参数,创建匿名方法则是唯一的方法。下面新建一个Windows窗体应用程序,在Form1的设计界面上拖一个button,然后在窗体空白处点右键,查看代码,在Form1的构造函数中编写代码,为button1的click关联一个匿名方法作为执行体,具体Form1的构造函数代码如下: 阅读全文

posted @ 2010-04-20 17:31 天轰穿 阅读(2247) 评论(4) 推荐(0) 编辑

摘要: 在C#中使用一个类时,分两个阶段。首先需要定义这个类,即告诉编译器这个类由什么字段和方法组成。然后(除非只使用静态方法)实例化类的一个对象。使用委托时,也需要经过这两个步骤。首先定义要使用的委托,对于委托,定义它就是告诉编译器这种类型的委托代表了哪种类型的方法,然后创建该委托的一个或多个实例。编译器在后台将创建表示该委托的一个类。 阅读全文

posted @ 2010-04-20 15:11 天轰穿 阅读(2884) 评论(2) 推荐(2) 编辑