摘要:
先做点准备工作,定义两个类:Animal类和其子类Dog类,一个泛型接口IMyInterface<T>, 他们的定义如下:publicclassAnimal{}publicclassDog:Animal{}interfaceIMyInterface<T>{}一. 协变和逆变的定义从.Net Framework 4.0开始引入了一个新特性:协变与逆变,有人翻译为协变和反变,他们实际上所指的就是不同类型之间的一种转变(Variance). 那么具体来说什么是协变和逆变呢? 就拿普通类来做个类比吧,对于普通类来说,下面两种转换你肯定不会陌生:Animalanimal=newD 阅读全文