文章详情

  • 游戏榜单
  • 软件榜单
关闭导航
热搜榜
热门下载
热门标签
php爱好者> php文档>C#中的委托(与Ruby中的类似,方法..

C#中的委托(与Ruby中的类似,方法..

时间:2010-10-23  来源:sunzongbao2007

using System; class B { public delegate  dynamic AMethod();//定义委托 delegate关键字 dynamic就是那个 //会各种变的类型,基本万能的适合,此时AMethod可以看作一个“方法类”的名字 可以利用 //这个名字 创建委托表。注意 ()内可以写参数,要求与被委托的方法相同,返回类型也是 //因此,委托列表中的方法除了名字不同外,其余基本相同。 //多用于GUI事件编程 //其实 delegate是个类 System.Multicast.Delegate是他的基类     public static void Main(){ AMethod[] am={//创建委托表,数组型 A.make, A.did, A.pick, };   for(int i=0;i<3;i++){//这里foreach也行得通 Console.WriteLine("{0} has been done",DoDelegate(am[i])); } } public static  dynamic DoDelegate(AMethod method){//委托列表中的方法将委托给 //DoDelegate,这个方法必须public static(其实是必须能随时访问到)   return method();//这里 method是被委托方法类的实例,易懂 } }   class A { public static  dynamic make(){ return "A make"; } public static string did(){ return "A did"; } public static string pick(){ return "A pick"; } } ===========================================   ---------- 运行C#程序 ---------- A make has been done A did has been done A pick has been done   输出完成 (耗时 0 秒) - 正常终止
相关阅读 更多 +
排行榜 更多 +
辰域智控app

辰域智控app

系统工具 下载
网医联盟app

网医联盟app

运动健身 下载
汇丰汇选App

汇丰汇选App

金融理财 下载