请教高手指导一下,普通委托和泛型委托的不同,普通委托不能满足所有的需求么个人感觉普通的委托就可以满足所有需求啊,为啥要用泛型委托呢,泛型委托只是把参数类型固定死了,普通委托定义的时候也可以固定死啊,不了解,菜鸟求指教,越通俗易懂越好,非常感谢!

解决方案 »

  1.   

    如过没有Action<>之类的泛型委托,那么你每次需要定义一个委托的时候都要多些上好几行代码,不麻烦吗?
      

  2.   

    如果只是参数不同,而且参数类型都是 Is A 的关系,你有必要每个类型写一个委托吗,如果有1w个类,你也要写一万个委托吗
      

  3.   

    因为C# 1.0不支持泛型。
    微软必须考虑兼容性,不能说C# 1.0的代码拿到4.0中,好多不能编译,或者不能运行了。类似地,为什么List对象有Sort方法,DataTable还有Select,其实有了LINQ,一点意义也没有了。作为程序员来说,你应该用主流的技术,“如无必要,勿增实体”。
      

  4.   

    全部的委托区别仅仅只在于方法参数的个数、类型和返回值。有了泛型委托,参数的类型就可以忽略了,通过类库提供的Fun和Action泛型带1到16个参数的委托,我们就基本不用自己定义任何委托,直接拿来用了。