我觉得gavinou说的有道理,的确是把函数当作参数传递,这个的确是他的特性。可是这样做和直接声明一个类创建对象,调用他的方法达到的目的和功效是一样的啊,也就是说deletegate能够实现的用声明类的方法也能实现,步骤也相差不多,那什么时候用deletegate呢,好处在哪里那?谢谢了

解决方案 »

  1.   

    如果你一定这样说。也是可以的。我们写一个类,调用类的成员变量,没错的。那么框架是什么?类库是什么?这些就是为了使我们代码重用,委托是一个类,但是是一个特殊的类。你对这个类能修改的很少,只有参数,就是invoke的参数。其他的东西系统固定不允许改变了。这些方法的命名和实现都和框架设计有关。所以不允许改变,但使用框架,最好的选择就是用委托。而不是自己写个类似的类。不排除个别情况,自己的设计中使用类更简单。--如果说的没道理,欢迎拍砖--
      

  2.   

    wuyazhe看了你说的我明白一写,谢谢,能不能麻烦你再解释一下框架,为什么框架中使用deletetgate更方便?
      

  3.   

    楼上不是吧,在winform中,如果你不在创建控件的线程中访问或者操作那个控件,就需要将控件上的方法用委托进行封送啊,这个还是很有用的啊。
      

  4.   

    我觉得委托最好就是能把一个方法当着一个参数进行传递,我看公司程序都是这样写的,GPS开发