.NET4.0为泛型接口和委托引入了新内容,逆变和协变类型参数。利用这个功能可将泛型委托和接口的一个变量转型为同一个泛型类型的另一个变量(后者的泛型类型实参不同)。
逆变量:说明泛型类型参数可以从一个基类更改为该类的派生类。在C#中用in关键字标记。用作方法的参数。
协变量:说明泛型类型参数可以从一个派生类更改为它的基类。在C#中用out关键字标记。用作方法的返回值。
下面用代码说明它的用法:(代码只用作说明用法)
interface Icomparable //T为逆变量 Tout为协变量 { Int32 CompareTo(T i);//逆变类型实参用作方法的参数 Tout Exception();//协变类型实参用作返回值类型 } class point : Icomparable