文章插图
使用泛型之后,我们发现基类和子类的泛型并没有继承关系,但实际业务中,他们还是父子关系 。
为解决上述问题,引入了协变、逆变 。
1.协变,让赋值表达式右边可以用子类
协变只能修饰返回参数 。为什么不能修饰传入参数呢?因为父类赋值给子类 。
![C#笔记~泛型](http://img.jiangsulong.com/220421/1115394439-18.jpg)
文章插图
![C#笔记~泛型](http://img.jiangsulong.com/220421/11153a143-19.jpg)
文章插图
2.逆变,让赋值表达式右边可以用父类
逆变只能修饰传入参数 。
![C#笔记~泛型](http://img.jiangsulong.com/220421/1115391b4-20.jpg)
文章插图
![C#笔记~泛型](http://img.jiangsulong.com/220421/11153955c-21.jpg)
文章插图
3.协变逆变只能用于接口、委托 。
推荐阅读
- 一步步从头搭建 Vue 开发环境
- 清代三大女词人 清代国初第一词人
- 一款比phpmyadmin更好用的WEB数据库管理工具
- 北京供暖时间几月到几月份?
- 黑客大神谈一谈Linux与suid提权
- 南京一家三口被杀分尸 南京一家三口灭门案
- 药流一个月后昨晚尿床今天尿频
- 41天可以做药流吗
- 怀孕1个月可以药流吗
- 药流后残留25要清宫吗