Go homepage(回首页) Upload pictures (上传图片) Write articles (发文字帖)
The author:(作者)qqpublished in(发表于) 2014/7/11 9:21:09 C#教程:C#2.0 新特性 匿名方法
匿名方法在C# 2.0之前,声明委托的惟一方法是使用命名方法。C# 2.0引入了匿名方法。如果使用匿名方法,则不必创建单独的方法,因此减少了实例化委托所需的编码系统开销。即以前是委托调用一个方法,现在是直接将方法的代码块作为参数传给委托而不必调用方法,即匿名方法。例如:本教程来自http://www.isstudy.com// 定义一个委托delegate void Del(int y);//委托调用匿名方法Del d = delegate(int h) { /* 直接写委托所调用的方法的代码*/ };示例匿名方法的使用下面的示例代码演示了委托Writer调用匿名方法。// 声明一个委托delegate void Writer(string s);class TestClass{static void Main(){// 委托类调用匿名方法Writer w = delegate(string j){System.Console.WriteLine(j);};// 调用匿名方法并显示匿名方法被调用w("匿名方法被调用。");// 委托关联命名方法 " NamedMethod ",注意在这里多了实例化委托w = new Writer(TestClass. NamedMethod);// 显示命名方法被调用w("命名方法被调用");}// 委托所调用的命名方法static void NamedMethod(string k){System.Console.WriteLine(k);}}输出结果:匿名方法被调用。命名方法被调用。完整程序代码如下:★★★★★主程序文件完整程序代码★★★★★:本教程来自http://www.isstudy.comusing System;using System.Collections.Generic;using System.Text;namespace _2_09{delegate void Writer(string s);class TestClass{static void Main(string[] args){// 委托类调用匿名方法:Writer w = delegate(string j){System.Console.WriteLine(j);};// 调用匿名方法并显示匿名方法被调用:w("匿名方法被调用。");// 委托关联命名方法 " NamedMethod ":,注意在这里多了实例化委托w = new Writer(TestClass.NamedMethod);// 显示命名方法被调用w("命名方法被调用。。");}// 委托所调用的命名方法:static void NamedMethod(string k){System.Console.WriteLine(k);}}}
赞