[Clr via C#读书笔记]Cp12泛型
Cp12泛型
Generic;
特点
- 源代码保护
- 类型安全
- 清晰代码
- 更佳性能
Framework中的泛型
System.Collections.Generic;
开放类型,封闭类型;每个封闭类型都有自己的静态成员;
泛型类型和继承
新的类型派生自泛型类型派生的那个类;实参指定和派生层次没有关系;
泛型的同一性
使用using和局部隐式类型来解决;
代码爆炸
了解就可以了
泛型接口
拥有泛型的那些好处
泛型委托
类似泛型接口
委托和接口的逆变和协变泛型类型实参
不变量=泛型类型参数不能更改;
逆变量=泛型参数可以从一个基类更改该类的派生类;in;参数
协变量=泛型类型参数可以从一个派生类更改为它的基类,out;返回类型
可以提高接口的灵活性;
泛型方法
泛型方法可以定义在泛型类当中,使用泛型类的T,也可以自己定义自己的T,甚至在非泛型类当中定义它;
约束
约束其实可以理解成尽可能的提高接口的具体性,从而可以使用到更多的这种具体性的操作;