首页 新闻 会员 周边

关于Func泛型委托的16个参数问题

0
悬赏园豆:5 [已解决问题] 解决于 2012-07-18 23:57

 Func<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, TResult> 泛型委托
如上,有点不理解微软的这种写法,弄了16个传入参数,为什么不把TResult放第一位,后面的参数都用parameters[]来传呢???

西夏普砖家的主页 西夏普砖家 | 初学一级 | 园豆:183
提问于:2012-07-17 23:34
< >
分享
最佳答案
1

既然使用了泛型,就是为了避免装箱、拆箱操作,所以才没有通过 params object[] 来做。

同样的,既然你能接收 params T[] 参数,那么根本不用申明:Func<TResult,params T[]>;

你只需要这个就够了:Func<TResult,T>。

 

C++有本关于描述泛型的高级用法的书籍,很经典,《C++设计新思维:泛型编程与设计模式之应用》,看过后,

你就能领会.net对泛型的应用模式。

收获园豆:2
Launcher | 高人七级 |园豆:45045 | 2012-07-18 09:11
其他回答(2)
0

params T[]   所有这些参数都是一样的类型啊

收获园豆:1
gunsmoke | 园豆:3592 (老鸟四级) | 2012-07-18 08:16
0

T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16  PK  params T[]

16种不同类型的参数PK params T 一种类型的无数个参数

收获园豆:1
Angkor--:-- | 园豆:1086 (小虾三级) | 2012-07-18 08:44
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册