一、Func Func是一个.Net内置的委托。 Func<Result>,Func<T1,Result>是一个.Net内置的泛型委托。 Func<TResult> Func<T,TResult> Func<T1,T2,TResult> Func<T1,T2,T3,TResult> Func<T1, ...
分类:
其他好文 时间:
2016-12-28 11:48:15
阅读次数:
153
最近又重新回过头来学习C#,才发现之前学习的知识有多么的浅显,有些东西还是挺难懂的,但是比较有意思,例如协变,逆变,不变就挺有意思,但是也挺绕,下面是学习过程中写的一些代码,有点乱,就当日记记叙一下。 ...
一、基本知识1.这三个都是.Net内置的泛型委托,方便我们直接使用,而不需要在使用委托时还要做如下定义 2.Func<T>是有返回值的泛型委托,格式为Func<T1,T2,T..N,TResult>,T1,T2,T..N为多个参数,TResult为返回值 3.Ation<T>是没有返回值的泛型委托, ...
分类:
其他好文 时间:
2016-11-14 16:57:22
阅读次数:
184
在上一章节中,我们自己声明了一个委托: 接受int参数,返回bool类型,目的是过滤集合中的 奇数 或者 偶数。 .NET 为我们内置了一个泛型委托,用于处理这种情况,省去了自定义的麻烦。 Func是.NET定义的委托,接受任何参数,并返回自定义类型结果。 我们可以将代码修改为:public sta ...
分类:
Web程序 时间:
2016-11-07 14:20:17
阅读次数:
211
阅读目录 简述什么是协变性、逆变性、不变性 泛型委托的可变性 泛型接口的可变性 不变性 延伸思考 总结 简述什么是协变性、逆变性、不变性 协变性,如:string->object (子类到父类的转换) 逆变性,如:object->string (父类到子类的转换) 不变性,基于上面两种情况,不可变。 ...
分类:
其他好文 时间:
2016-09-27 19:23:31
阅读次数:
140
熟悉面向对象编程的开发人员都深谙这种编程的好处,其中之一就是“代码重用”,它大大提高了开发效率。泛型是CLR和编程语言提供的一种特殊机制,它支持另一种形式的代码重用,即“算法重用”。 CLR允许创建泛型引用类型和泛型值类型,还允许创建泛型接口和泛型委托,CLR允许在引用类型、值类型或接口中定义泛型方 ...
简述什么是协变性、逆变性、不变性 协变性,如:string->object (子类到父类的转换) 逆变性,如:object->string (父类到子类的转换) 不变性,基于上面两种情况,不可变。具体下面再做分析。 泛型委托的可变性 先使用框架定义的泛型委托Func和Action做例子(不了解的请戳 ...
分类:
其他好文 时间:
2016-08-29 09:12:07
阅读次数:
258
转自:http://www.cnblogs.com/Joetao/articles/2094271.html 本节学习了泛型委托Action<T>和Fun<TResult>两类特殊的委托,这两个特殊的委托是Dot FrameWrok自带的。结合lambda表达式,可以在写程序时,简洁代码和提高编码效 ...