【发布时间】:2014-10-09 20:07:49
【问题描述】:
可能重复:
Covariance and Contravariance on the same type argument
您可以使用 out 关键字将泛型类型参数声明为协变:
interface ICovariant<out R>
您可以使用in 关键字将泛型类型参数声明为逆变:
interface IContravariant<in R>
你也可以同时支持不同类型的参数:
interface IVariant<out R, in A>
那么为什么你不能同时支持一个类型参数呢?
【问题讨论】:
-
James,你今天似乎对方差感兴趣。您可能想查看我关于我们如何设计该功能的大量文章和视频系列。他们在这里:blogs.msdn.com/b/ericlippert/archive/tags/…,从底部开始。
标签: c# generics interface covariance contravariance