浅析C#匿名方法

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

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

如何使用C# 匿名方法

多用代码少用说教来解释和理解匿名方法会容易一些。下面的例子应该能够说明你自己可以如何利用C# 匿名方法的优势:

基础知识

使用C# 匿名方法很简单。你只需要把匿名方法放在你通常放命名方法的关联语句里。在下面这个例子里,我把匿名方法和委托关联在一起:

 
 
 
  1. #regionSimpleexample-Example1  
  2. privatedelegatevoidExample1();  
  3.  
  4. privatevoidbtnExample1_Click(objectsender,EventArgse)  
  5. {  
  6. //DeclareaninstanceoftheExample1delegate.  
  7. //YoucanseewhereI'musingtheanonymous  
  8. //methodinplaceofanamedmethod-itfollows  
  9. //thedelegate()keyword.  
  10. Example1example=  
  11. newExample1(  
  12. delegate()  
  13. {  
  14. MessageBox.Show("Example1");  
  15. });  
  16.  
  17. example();  
  18. }  
  19. #endregion 

分享名称:浅析C#匿名方法
文章网址:http://www.shufengxianlan.com/qtweb/news19/320619.html

网站建设、网络推广公司-创新互联,是专注品牌与效果的网站制作,网络营销seo公司;服务项目有等

广告

声明:本网站发布的内容(图片、视频和文字)以用户投稿、用户转载内容为主,如果涉及侵权请尽快告知,我们将会在第一时间删除。文章观点不代表本网站立场,如需处理请联系客服。电话:028-86922220;邮箱:631063699@qq.com。内容未经允许不得转载,或转载时需注明来源: 创新互联