Func<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, TResult> 泛型委托
如上,有点不理解微软的这种写法,弄了16个传入参数,为什么不把TResult放第一位,后面的参数都用parameters[]来传呢???
既然使用了泛型,就是为了避免装箱、拆箱操作,所以才没有通过 params object[] 来做。
同样的,既然你能接收 params T[] 参数,那么根本不用申明:Func<TResult,params T[]>;
你只需要这个就够了:Func<TResult,T>。
C++有本关于描述泛型的高级用法的书籍,很经典,《C++设计新思维:泛型编程与设计模式之应用》,看过后,
你就能领会.net对泛型的应用模式。
params T[] 所有这些参数都是一样的类型啊
T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16 PK params T[]
16种不同类型的参数PK params T 一种类型的无数个参数