委托使用的实例

  阅读目录

  一:委托与线程

  二:委托使用的实例

  三:运行效果

  一:委托与线程

  .委托基础
  -委托使用的目的:把函数作为参数传递
  -类似于C++中的函数指针,和函数指针是有区别的:函数指针只能引用静态方法,而委托可以引用静态方法,也可以引用实例方法,当委托引用实例方法时,委托不仅存储对方法入口点的引用,还存储对调用该方法的实例引用
  -是事件处理的基础
  -委托声明:delegate int MyDelegate (int i); int表示函数返回类型,MyDelegate表示委托名称,i表示函数参数

  二:委托使用的实例

  1:声明委托

  delegate int MyDelegate(int i);

  2:定义一个静态方法,返回两数的乘积

  public static int DelegateMethod(int i)

  {
     return i * i;

  }

  3:声明一个委托变量mydelegate,且绑定到静态方法DelegateMethod

  MyDelegate mydelegate = new MyDelegate(DelegateMethod);

  实例

  using System;
  using System.Collections.Generic;
  using System.Linq;
  using System.Text;

  namespace _3_DelegateUse
  {
      class Program
      {
          //step1声明委托
          public delegate int MyDelegate(int i);
          static void Main(string[] args)
          {
              //step3声明一个委托变量mydelegate,且绑定到静态方法DelegateFunction
               MyDelegate mydelegate = new MyDelegate(DelegateFunction);
               Console.Write("请输入数字:");
                 int i = Int32.Parse(Console.ReadLine());
                 //调用委托方法DelegateFunction
                int intResult = mydelegate(i);
                Console.WriteLine("结果是:" + intResult);
                Console.ReadLine();
          }

          //step2定义一个静态方法,返回两数的乘积
          public static int DelegateFunction(int i)
          {
              return i * i;
          }
      }
  } 

  三:运行效果
  

 

 

 

posted @ 2012-03-17 20:41  David.Meng  阅读(857)  评论(0编辑  收藏  举报