gpt4 book ai didi

c# - 协变和逆变

转载 作者:行者123 更新时间:2023-11-30 14:03:30 25 4
gpt4 key购买 nike

可能是我的问题很愚蠢,但在这里。

协变和逆变仅适用于 c# 中的委托(delegate)吗?

我们可以在普通的类层次结构中有协变和逆变吗?

最佳答案

Is Covariance and contravariance only applicables for delegates in c#?

不完全是;语言级别的差异也适用于接口(interface),例如IEnumerable<out T>(同样 in 也可以)。

我还应该注意到引用类型的数组也是协变的:

string[] orig = {"abc","def"};
object[] sameArray = orig;

Can we have Covariance and contravariance in normal class hierarchies?

没有;它不适用于类/结构(尽管您当然可以实现协变接口(interface),并强制转换为该接口(interface))。

关于c# - 协变和逆变,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4032382/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com