1,说明:协变和逆变只能出现在接口和委托中。
,,,,,,,,协变通过了来修饰,逆变通过在来修饰
,,,,,,,,对引用类型有效,对值类型无效
2,需要解决的问题:
,,,,
3,解决方案:
,,,,, IEnumerable
,,,,查看,IEnumerable的定义发现
在泛型参数的前面添加了出参数。
4,补充:
,,,,出协变:被修饰的参数只能出现在返回值的位置。
,,,,在逆变:被修饰的参数只能出现在参数的位置。
5,逆变的事例:
,,,,
6,自己写一个逆变和协变的事例:
,,,,
,,,,
,,,,