我很难理解协方差和逆方差之间的区别。
发布于 2021-06-03 14:53:50
假设一个组织中有两个职位。爱丽丝是一个椅子柜台。鲍勃也是同样椅子的店主。
逆方差。现在我们不能任命鲍勃为家具店主,因为他不会把桌子搬到他的店里,他只存放椅子。但是我们可以叫他紫色椅子的店主,因为紫色的就是椅子。这是IBookkeeper<in T>
,我们允许赋值给更具体的类型,而不是更少的类型。in
代表进入对象的数据流。
科瓦里内斯。相反,我们可以给爱丽丝指定一个家具柜台,因为这不会影响她的角色。但我们不能给她命名为红色椅子的计数器,因为我们希望她不会计算非红色椅子,但她会计算它们。这是ICounter<out T>
,允许隐式转换为不太具体的,而不是更具体的。out
代表数据流出对象。
不变性是当我们不能同时做到这两点的时候。
https://stackoverflow.com/questions/2184551
复制相似问题