我关于c#中委托的简单理解

来源:互联网 发布:单片机自学网 编辑:程序博客网 时间:2024/05/23 11:56

作者:xmsheji

转自:http://blog.csdn.net/xmsheji/article/details/4864767


[c-sharp] view plaincopy
  1. using System;  
  2. namespace Delegate  
  3. {  
  4.     class Program  
  5.     {  
  6.         public delegate void WeiTuo(char c);//定义一个委托  
  7.         static void f(char c)  
  8.         {//打印小写字母  
  9.             Console.WriteLine(char.ToLower(c));  
  10.         }  
  11.         static void F(char c)  
  12.         {//打印大写字母  
  13.             Console.WriteLine(char.ToUpper(c));  
  14.         }  
  15.         static void Fun(WeiTuo wt,char c)  
  16.         {  
  17.             wt(c);  
  18.         }  
  19.        
  20.           
  21.         static void Main(string[] args)  
  22.         {  
  23.             //单播委托  
  24.             WeiTuo wt = new WeiTuo(f);//把函数转成委托  
  25.             Fun(wt, 'a');  
  26.             Fun(f, 'a');  
  27.             wt = new WeiTuo(F);  
  28.             Fun(wt, 'a');  
  29.             Fun(F, 'a');  
  30.             //多播委托  
  31.             WeiTuo weituo = new WeiTuo(f);  
  32.             weituo += new WeiTuo(F);  
  33.             Fun(weituo, 'b');  
  34.             Console.Read();  
  35.         }  
  36.     }  
  37. }  

 

1.什么是委托?委托类似函数。但是委托可以作为函数参数。

2.什么时候用委托?当程序中有两个函数的参数和返回值一样时,就可以考虑用委托了。

3.委托有什么好处?易于维护。保护函数内部,增强其安全性。


0 0