C#委托,delgete

来源:互联网 发布:定制家具效果图软件 编辑:程序博客网 时间:2024/04/30 02:12
委托(delegate)是一种数据结构,提供类似C++语言中函数指针的功能,不同的是C++语言的函数指针只能够指向静态的方法,而委托除了可以指向静态的方法之外,还可以指向对象实例的方法。  
  委托的最大特点是,它不知道或不关心自己引用的对象的类。任何对象中的方法都可以通过委托动态地调用,只是方法的参数类型和返回类型必须与委托的参数类型和返回类型相匹配。
  委托主要用在两个方面:其一是CallBack(回调)机制;其二是事件处理。
using System;
namespace DelegateExample3
{
   //第一步:声明委托
  public delegate string MyDelegate(string name1);
   public class Program
   {
      //第二步:定义被调用的方法
      public static string FunctionA(string name) 
      {
         return "A say Hello to"+name;
      }
      public static string FunctionB(string name)
      {
         return "B say Hello to"+name;
      }
      //第三步:定义delegate类型的处理函数,并在此函数中
      //通过delegate类型调用步骤定义的方法
      public static void MethodA(MyDelegate Me)
      {
          Console.WriteLine(Me("张三"));
      }
      public static void Main()
      {
          //第四步:创建实例,传入准备调用的方法名
          MyDelegate a = new MyDelegate(FunctionA);
          MyDelegate b = new MyDelegate(FunctionB);
          MethodA(a);
          MethodA(b);
          //按回车键结束
          Console.ReadLine();
      }
   }
}
C委托,delgete - WorldsList - 风雨同舟路
原创粉丝点击