强制转换 通用

强制转换 通用,第1张

强制转换 通用

您不能将强制

Generic<Derived>
转换为
Generic<base>

试想一下,如果可以。您有一个

List<Wolf>
并将其转换为
List<Animal>
。现在,你可以
.Add()
一个
Sheep
List<Animal>
。但请稍候…现在您的中
List<Wolf>
包含一个
Sheep
。真是一团糟。

仅当您可以确保投射到的东西以所有可能的形式为只读时,这才可行。这就是协和,而协方差就是这样。但是,它仅适用于接口。



欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/5602292.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-12-15
下一篇 2022-12-15

发表评论

登录后才能评论

评论列表(0条)

保存