在C# 1.1里,声明和使用委托要求你有委托和一个在委托被触发时具有匹配签名的能够执行的方法,以及一个将命名方法与委托关联的分配语句。作为C# 2.0的新特性,C#匿名方法基本上能够提供与先前命名方法相同的功能,但是它已经不再需要一个在关联到委托之前就明确创建的方法了。
创新互联是一家专注于做网站、成都网站建设与策划设计,乐清网站建设哪家好?创新互联做网站,专注于网站建设十余年,网设计领域的专业建站公司;建站业务涵盖:乐清等地区。乐清做网站价格咨询:18980820575
你可以把匿名方法想象为一个实现与委托进行关联这项功能的便捷途径。如果同时看一下C#匿名方法实现和命名方法实现所取得IL结果,你会发现这两者之间的差别非常小。当编译器碰到匿名方法的时候,它会在类里面创建一个命名方法,并将它与委托进行关联。所以匿名方法在运行期间与命名方法的性能非常类似——性能的增加体现在开发人员的生产效率上,而不是运行期间的执行上。
参数的传递
你可以将参数传递给C#匿名方法,方式就和你处理引用命名方法参数的委托一样。下面说明这种类型的功能:
- #regionParameterexample-Example3
- privatedelegatevoidExample3(stringfirstName,stringlastName);
- privatevoidbtnExample3_Click(objectsender,EventArgse)
- {
- //Setupourparameters.
- stringparameter1="Zach";
- stringparameter2="Smith";
- //CreateaninstanceoftheExample3delegatewithan
- //anonymousmethod.
- Example3example=
- newExample3(
- delegate(stringfirstName,stringlastName)
- {
- MessageBox.Show("Example3:"+firstName+""+lastName);
- });
- //Executethedelegate.
- example(parameter1,parameter2);
- }
- #endregion
【编辑推荐】
网站标题:概述C#匿名方法
网页地址:http://www.gawzjz.com/qtweb/news27/200577.html
网站建设、网络推广公司-创新互联,是专注品牌与效果的网站制作,网络营销seo公司;服务项目有等
声明:本网站发布的内容(图片、视频和文字)以用户投稿、用户转载内容为主,如果涉及侵权请尽快告知,我们将会在第一时间删除。文章观点不代表本网站立场,如需处理请联系客服。电话:028-86922220;邮箱:631063699@qq.com。内容未经允许不得转载,或转载时需注明来源: 创新互联