可能重复:
Covariance and contravariance real world example
still confused about covariance and contravariance & in/out
您能给我一个协方差和对比的描述或例子吗?为什么他们现在决定将它添加到.NET 4中?
发布于 2010-08-31 06:15:46
如果B继承自A,即是A的一个亚型,则C函数是C(B)的一个子型,如果C(B)是C(A)的一个子型,则C(B)是C(B)的一个子型。
问题是您是否希望消费者处理超级类型或子类型。
一个常见的例子是处理水果类的类库。
我可以给你一个你期待水果的苹果。在你期望苹果的地方给你任何水果,对我来说都是不行的。
如果你在做水果库。你应该期待我的成果,而我应该期待你的果实。我们两个都不应该对一个可能是错误的子类型抱有期望。
因此,以上问题的答案取决于你是收到还是发送。参数是读写的。水果清单应该是接受香蕉或苹果,但只发送“水果”。
发布于 2010-08-31 03:35:10
由于没有人给出答案,所以我只是总结一下评论
stackoverflow.com网站/问询/245607/- MainMa
stackoverflow.com. ago /问询/2662369/stackoverflow.com.ago/问询/1163465/stackoverflow.com.ago/问题/3445631/-在56分钟前
https://stackoverflow.com/questions/3605670
复制相似问题