.Net--协变、逆变
1、说明:协变和逆变只能出现在接口和委托中。
协变通过out来修饰,逆变通过in来修饰
对引用类型有效,对值类型无效
2、需要解决的问题:
3、解决方案:
IEnumerable<Parent> _parents = new List<Child>();
查看IEnumerable的定义发现
在泛型参数的前面添加了out参数。
4、补充:
out协变:被修饰的参数只能出现在返回值的位置。
in逆变:被修饰的参数只能出现在参数的位置。
5、逆变的事例:
6、自己写一个逆变和协变的事例:
声明:本站所有文章资源内容,如无特殊说明或标注,均为采集网络资源。如若本站内容侵犯了原著者的合法权益,可联系本站删除。