net -协变,逆变

1,说明:协变和逆变只能出现在接口和委托中。

,,,,,,,,协变通过了来修饰,逆变通过在来修饰

,,,,,,,,对引用类型有效,对值类型无效

2,需要解决的问题:

,,,,  . net -协变,逆变

3,解决方案:

,,,,, IEnumerable_parents=new List ();

,,,,查看,IEnumerable的定义发现

 . net -协变,逆变

在泛型参数的前面添加了出参数。

4,补充:

,,,,出协变:被修饰的参数只能出现在返回值的位置。

,,,,在逆变:被修饰的参数只能出现在参数的位置。

5,逆变的事例:

,,,,  . net -协变,逆变

6,自己写一个逆变和协变的事例:

,,,,

,,,,  . net -协变,逆变


,,,,

net -协变,逆变