WEB开发网
开发学院软件开发C语言 C#3.0笔记(一)预备知识之Delegate 阅读

C#3.0笔记(一)预备知识之Delegate

 2009-04-06 08:24:13 来源:WEB开发网   
核心提示: 另外定义了一个辅助方法:publicstaticvoidDisplayDelegateInfo(Delegatedel){foreach(Delegatedindel.GetInvocationList()){Console.WriteLine("MethodName:{0}&q

另外定义了一个辅助方法:

    public static void DisplayDelegateInfo(Delegate del)
    {
      foreach (Delegate d in del.GetInvocationList())
      {
        Console.WriteLine("Method Name:{0}", d.Method.Name);
        Console.WriteLine("Target is:{0}", d.Target);
      }
    }

调用:

  static void Main(string[] args)
  {
    CaculateClient caClient =new CaculateClient();
    Simple.Caculate ca = new Simple.Caculate(caClient.Add);
    Console.WriteLine("1+1={0}",ca(1,1));
    ca += new Simple.Caculate(caClient.Subtract);
    Console.WriteLine("Result:{0}", ca(1, 1));
    Simple.DisplayDelegateInfo(ca);
    Console.Read();
  }

我们可以看到下面的结果:

C#3.0笔记(一)预备知识之Delegate

图片看不清楚?请点击这里查看原图(大图)。

小结

现在我们基本上知道Delegate的原理,已经基本的实现,但是我们并没有实现一些高级的话题,毕竟Caculate还只是一个玩具,呵呵。下一篇中将会涉及到多播、复杂点的示例以及事件

出处: http://henllyee.cnblogs.com/

上一页  1 2 3 

Tags:笔记 预备 知识

编辑录入:爽爽 [复制链接] [打 印]
赞助商链接