匿名方法的使用
匿名方法相信很多人都听过,它是C#2.0的一个新特性,顾名思义,匿名方法就是没有名称的方法。那么在C#中的匿名方法有哪些好处,在C#中如何使用呢?匿名方法最明显的好处就是可以降低另写一个方法的工作量,另外一个好处就是可以访问调用者的变量,降低传参数的复杂度,下面就通过一些使用例子来具体看看。
1、在事件中使用匿名方法
下面是一个定时器的小例子,我们常规的写法如下:
<div style="border-right: #cccccc 1px solid; padding-right: 5px; border-top: #cccccc 1px solid; padding-left: 4px; font-size: 13px; padding-bottom: 4px; border-left: #cccccc 1px solid; width: 98%; padding-top: 4px; border-bottom: #cccccc 1px solid; background-color: #eeeeee;">http://www.cnblogs.com/Images/OutliningIndicators/ContractedBlock.gifhttp://www.cnblogs.com/Images/OutliningIndicators/ExpandedBlockStart.gif常规写法
<!--<br /><br />Code highlighting produced by Actipro CodeHighlighter (freeware)<br />http://www.CodeHighlighter.com/<br /><br />-->http://www.cnblogs.com/Images/OutliningIndicators/None.gifclassEventTest
http://www.cnblogs.com/Images/OutliningIndicators/ExpandedBlockStart.gifhttp://www.cnblogs.com/Images/OutliningIndicators/ContractedBlock.gifhttp://www.cnblogs.com/Images/dot.gif{
http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gifpublicvoidTest()
http://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockStart.gifhttp://www.cnblogs.com/Images/OutliningIndicators/ContractedSubBlock.gifhttp://www.cnblogs.com/Images/dot.gif{
http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gifSystem.Timers.TimertimersTimer=newSystem.Timers.Timer();
http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif
http://www.cnblogs.com/Images/OutliningIndicators/InBlock.giftimersTimer.Enabled=true;
http://www.cnblogs.com/Images/OutliningIndicators/InBlock.giftimersTimer.Interval=5000;
http://www.cnblogs.com/Images/OutliningIndicators/InBlock.giftimersTimer.Elapsed+=newSystem.Timers.ElapsedEventHandler(timersTimer_Elapsed);
http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gifConsole.ReadLine();
http://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockEnd.gif}
http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif
http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gifvoidtimersTimer_Elapsed(objectsender,System.Timers.ElapsedEventArgse)
http://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockStart.gifhttp://www.cnblogs.com/Images/OutliningIndicators/ContractedSubBlock.gifhttp://www.cnblogs.com/Images/dot.gif{
http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gifConsole.WriteLine(System.DateTime.Now);
http://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockEnd.gif}
http://www.cnblogs.com/Images/OutliningIndicators/ExpandedBlockEnd.gif}
http://www.cnblogs.com/Images/OutliningIndicators/None.gif
页:
[1]