请教高手指导一下,普通委托和泛型委托的不同,普通委托不能满足所有的需求么

laokaizzz 2012-05-31 09:10:34
请教高手指导一下,普通委托和泛型委托的不同,普通委托不能满足所有的需求么

个人感觉普通的委托就可以满足所有需求啊,为啥要用泛型委托呢,泛型委托只是把参数类型固定死了,普通委托定义的时候也可以固定死啊,不了解,菜鸟求指教,越通俗易懂越好,非常感谢!
...全文
148 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
hztltgg 2012-06-14
  • 打赏
  • 举报
回复
全部的委托区别仅仅只在于方法参数的个数、类型和返回值。

有了泛型委托,参数的类型就可以忽略了,通过类库提供的Fun和Action泛型带1到16个参数的委托,我们就基本不用自己定义任何委托,直接拿来用了。
stonespace 2012-06-14
  • 打赏
  • 举报
回复
一个泛型委托可以代替多个普通委托,这样如果用普通委托,需要定义n个类似的委托,而如果用泛型委托只需定义一次,
threenewbee 2012-06-14
  • 打赏
  • 举报
回复
因为C# 1.0不支持泛型。
微软必须考虑兼容性,不能说C# 1.0的代码拿到4.0中,好多不能编译,或者不能运行了。

类似地,为什么List对象有Sort方法,DataTable还有Select,其实有了LINQ,一点意义也没有了。

作为程序员来说,你应该用主流的技术,“如无必要,勿增实体”。
__天涯寻梦 2012-05-31
  • 打赏
  • 举报
回复
假如你需要两个委托,没有泛型就得手工写声明两个委托的代码,如果有泛型,声明委托的代码就不必写了,编译器来帮你生成,减少你的代码量,程序也更简洁
bdmh 2012-05-31
  • 打赏
  • 举报
回复
如果只是参数不同,而且参数类型都是 Is A 的关系,你有必要每个类型写一个委托吗,如果有1w个类,你也要写一万个委托吗
hard9999 2012-05-31
  • 打赏
  • 举报
回复
如过没有Action<>之类的泛型委托,那么你每次需要定义一个委托的时候都要多些上好几行代码,不麻烦吗?

111,126

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Creator Browser
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧