答案 0 :(得分:3)
当他们称他们为'in'和'out'而不是covariant和contravariant时,他们不是这样做的吗?试想一下:我是在推动价值观,还是让它们“消失”?如果不确定,请尝试“退出” - 它更常见(也更容易理解)。
答案 1 :(得分:1)
in
个类型将in
传递给函数; out
类型从函数返回out
。
答案 2 :(得分:0)
当我不记得时,我总是提到IEnumerable<out T>
(这当然意味着我必须记住该界面的签名......)。您只能获得IEnumerable<out T>
的T“out”实例,因此它是协变的。如果你只能将T“in”的实例传递给一个接口(或者委托,这是更常见的),它就是逆变的。