具体的委托原理就不要在详细的讨论了。
我们就讨论下什么情况下应该用委托!!
我先说一点自己的用途把
1。写自定义控件的的时候用的最多!!
2。2个类之间传递数据的时候可以用(当是目前还没有真正的用过!)

解决方案 »

  1.   

    自己补充一下:
    委托的异步调用也很有用,特别是在io受限制的情况下使用!
    比如最长用的socket异步!!
      

  2.   

    Remoting:
    客户端委托调用服务器端方法.
      

  3.   

    http://topic.csdn.net/u/20090115/00/cc7eaa2c-025d-41f7-a1c5-def1fec6e1b2.html看这个帖中,我在6楼写的例子.
      

  4.   

    和很多人一样,我也始终搞不太清楚 委托 怎么用,之前看书的时候,看到这一章看得我头晕眼花。。但是昨天我用了一次委托。 是用在不同的类里面调用EVENT的时候用的,就是在一个类里面,如果Event A 发生了,就会引发在另一个类里面的event B.其实很多知识点,看过之后就忘了。。觉得还是要多练习功多艺熟,是不变的真理
      

  5.   

    List.Sort(delegate(参数){compare实现});这个用的比较多,用委托来实现Icompare接口.
      

  6.   

                List<int> myList =new List<int>();          
                myList.Add(111 );
                myList.Add(67);
                myList.Add(356);
                myList.Sort(delegate(int x, int y) { return x.CompareTo(y); });
    这个是一个非常实用的写法,请熟练.
      

  7.   

    是凡带I开头的接口,都可以用delegate来实现.
    比如ICompare
    List <我自己的类> myList =new List <我自己的类>();          
    myList.Add(实例1); 
    myList.Add(实例2); 
    myList.Add(实例3); myList.Sort(delegate(我自己的类 x, 我自己的类 y) { 我自己的类的某属性的比较,返回正负1和0就行}); 
      

  8.   

    [code=MSDN]
    在以下情况中使用委托:当使用事件设计模式时。当封装静态方法可取时。当调用方不需要访问实现该方法的对象中的其他属性、方法或接口时。需要方便的组合。当类可能需要该方法的多个实现时。[/code]
      

  9.   

    匿名委托 光知道有这个东西 可惜从来没用过.其实很多地方都需要用委托,常用的还有Array.ConvertAll等等.我刚开始也不大理解什么是委托,后来结合js理解
    才发现.net下的委托 其实就是强类型的js下的function而已后来使用反射技术的时候经常会用到委托
      

  10.   

    类似的还有find,findall用的也比较多,并不是一定是通信比较才用的,匿名方法可以减少很多代码
    如:BusinessAlarmCollection = BusinessAlarmCollection.FindAll(delegate(BusinessAlarmSDO obj) { return obj.Removed == false; }); if (!CheckDownCollection.Exists(new Predicate<TransportOrderFullSDO>(delegate(TransportOrderFullSDO obj) { return obj.ID == var.ID; })))
    {
        CheckDownCollection.Add(var);
    }
      

  11.   

    上面的new Predicate<TransportOrderFullSDO>可以省略的,直接像FindAll一样用(delegate...就行了
    就如superdullwolf说的,是凡带I开头的接口,都可以用delegate来实现. 
      

  12.   

    zxc委托就是调用一个不确定的方法,不确定的方法一般就不会是自己写的方法,
      

  13.   

    委托你不用都不行,LINQ中大量用到了这个东东