概述C#匿名方法

开发 后端
这里介绍你可以将参数传递给C#匿名方法,方式就和你处理引用命名方法参数的委托一样。下面说明这种类型的功能。

在C# 1.1里,声明和使用委托要求你有委托和一个在委托被触发时具有匹配签名的能够执行的方法,以及一个将命名方法与委托关联的分配语句。作为C# 2.0的新特性,C#匿名方法基本上能够提供与先前命名方法相同的功能,但是它已经不再需要一个在关联到委托之前就明确创建的方法了。

你可以把匿名方法想象为一个实现与委托进行关联这项功能的便捷途径。如果同时看一下C#匿名方法实现和命名方法实现所取得IL结果,你会发现这两者之间的差别非常小。当编译器碰到匿名方法的时候,它会在类里面创建一个命名方法,并将它与委托进行关联。所以匿名方法在运行期间与命名方法的性能非常类似——性能的增加体现在开发人员的生产效率上,而不是运行期间的执行上。

参数的传递

你可以将参数传递给C#匿名方法,方式就和你处理引用命名方法参数的委托一样。下面说明这种类型的功能:

  1. #regionParameterexample-Example3  
  2. privatedelegatevoidExample3(stringfirstName,stringlastName);  
  3.  
  4. privatevoidbtnExample3_Click(objectsender,EventArgse)  
  5. {  
  6. //Setupourparameters.  
  7. stringparameter1="Zach";  
  8. stringparameter2="Smith";  
  9.  
  10. //CreateaninstanceoftheExample3delegatewithan  
  11. //anonymousmethod.  
  12. Example3example=  
  13. newExample3(  
  14. delegate(stringfirstName,stringlastName)  
  15. {  
  16. MessageBox.Show("Example3:"+firstName+""+lastName);  
  17. });  
  18.  
  19. //Executethedelegate.  
  20. example(parameter1,parameter2);  
  21. }  
  22. #endregion 

【编辑推荐】

  1. 浅谈C#开发WinForm
  2. C#静态构造函数简介
  3. C#实现ControlTemplate方法
  4. C#验证输入方法详解
  5. 浅析C#透明窗体
责任编辑:佚名 来源: 赛迪网
相关推荐

2009-07-31 14:08:54

C# 匿名函数

2009-08-20 16:15:19

C# 匿名方法

2009-08-27 17:51:34

C#匿名方法

2009-08-20 16:25:59

C# 匿名方法

2009-08-21 18:01:32

C#匿名方法

2009-08-27 17:47:18

C#匿名方法作为参数传

2009-08-10 17:25:58

C#匿名类型

2009-08-27 17:39:51

C#多个方法的关联

2009-08-26 15:46:01

C#匿名类型

2009-08-27 10:19:22

C#匿名类型

2009-09-01 10:58:46

C#匿名类型对象

2009-09-04 18:00:54

C# Main方法

2009-09-03 10:42:16

C# Employee

2009-08-24 18:09:13

C#构造函数

2009-08-17 09:57:00

C# Windows

2009-08-25 10:08:39

C# MyData对象

2009-08-25 16:49:44

C#使用if语句

2009-08-19 11:09:00

C# Cast<T>

2009-08-18 17:29:02

C#使用指针

2009-08-13 15:18:23

C#文件上传
点赞
收藏

51CTO技术栈公众号