在某一事件发生时通过委托调用该方法和当这一条件满足时直接调用该方法有什么区别?

解决方案 »

  1.   

    没有,委托的作用就是可以延迟方法的实现,举例来说,你包装了一个控件,但是别人在你控件内做个操作,而操作发生时,你内部的逻辑是可以定死的,但是APP也就是用户的逻辑是求知的,但是通过公布特殊的委托(事件),用户可以把它的行业逻辑也就实现方法传到你的控件内,而你的控件内发生该情况时的处理逻辑也就有一部分被延迟到APP的代码中了.
      

  2.   

    委托是可保存对方法的引用的类。与其他的类不同,委托类具有一个签名,并且它只能对与其签名匹配的方法进行引用。这样,委托就等效于一个类型安全函数指针或一个回调。虽然委托具有许多其他的用途,但这里只讨论委托的事件处理功能。一个委托声明足以定义一个委托类。声明提供委托的签名,公共语言运行库提供实现.简单的理解就是: 委托可以将一个方法作为一个参数传到另一个方法中。
                     如果需要程序得到某个结果可以由另一个代码块委托代理,而不需要自己来处理如果是用条件语句来判断的话,得到的结果还是又该代码块来处理该结果
    事件就是一种特殊的委托一个委托的简单例子:
    public delegate string GetAString();static void Main()
    {
      int x=40;
      GetAString firstString=new GetAString(x.ToString);
      Console.WriteLine(firstString());
    }上面的例子中 x.ToString() 方法委托GetAString 来处理