C#中的协变和逆变

2023-12-19 22:19:10

这两个都是只能使用在接口和委托上

个人理解:

? ? ? ? 协变:出参,让基类使用范围变大,将父类/基类当作子类一样使用

? ? ? ? --为什么这样规定呢?

? ? ? ? ? ? ? ? 我的理解:真正实现的是子类,子类拥有所有的方法,却不能接收父类

? ? ? ? 逆变:入参,让父类安全地转化为子类

? ? ? ? --为什么这样规定呢?

? ? ? ? ? ? ? ?我的理解是:真正实现的是父类,父类无法返回子类,但是可以接收任意子类

文章来源:https://blog.csdn.net/weixin_46407807/article/details/135089005
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。