理解c#中委托

1.

我们对委托做一个总结:
委托是一个类,它定义了方法的类型,使得可以将方法当作另一个方法的参数来进行传递,这种将方法动态地赋给参数的做法,可以避免在程序中大量使用If-Else(Switch)语句,同时使得程序具有更好的可扩展性。


   //正确理解委托的列子

using  System;
using  System.Collections.Generic;
using  System.Text;
namespace  Delegate
{
     //定义委托,它定义了可以代表的方法的类型
     public  delegate  void  GreetingDelegate( string  name);
     class  Program
     {
         private  static  void  EnglishGreeting( string  name)
         {
             Console.WriteLine( "Morning, "  + name);
         }
         private  static  void  ChineseGreeting( string  name)
         {
             Console.WriteLine( "早上好, "  + name);
         }
         //注意此方法,它接受一个GreetingDelegate类型的参数,该参数是返回值为空,参数为string类型的方法
         private  static  void  GreetPeople( string  name, GreetingDelegate MakeGreeting)
         {
             MakeGreeting(name);
         }
         static  void  Main( string [] args)
         {
             GreetPeople( "Jimmy Zhang" , EnglishGreeting);
             GreetPeople( "张子阳" , ChineseGreeting);
             Console.ReadKey();
         }
     }
}


详见:http://baike.baidu.com/link?url=fQFujDwVGpnW8T_aOMcskiZiP1YTQYnq-j9p7O_fWreQsRLUJ9ukkdlbyAkgB6vCh2qZUil4c7Ox8BNhrCrT4a#7






评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值