1、说明:协变和逆变只能出现在接口和委托中。
协变通过out来修饰,逆变通过in来修饰
对引用类型有效,对值类型无效
2、需要解决的问题:
3、解决方案:
IEnumerable<Parent> _parents = new List<Child>();
查看 IEnumerable的定义发现
在泛型参数的前面添加了out参数。
4、补充:
out协变:被修饰的参数只能出现在返回值的位置。
in逆变:被修饰的参数只能出现在参数的位置。
5、逆变的事例:
6、自己写一个逆变和协变的事例:
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。