首先,正如Tomas所说,CLR不支持它。
第二,那将如何工作?假设你有
class C<out T>{ ... how are you planning on using T in here? ... }
T仅可用于输出位置。如您所述,该类不能有任何类型为T的字段,因为该字段可以写入。该类不能有任何采用T的方法,因为这些方法在逻辑上是可写的。假设您具有此功能-
您将如何利用它?
如果我们可以说拥有一个类型T的只读字段,这对于不可变的类将很有用。这样,我们将大大减少不正确写入的可能性。但是很难提出其他允许以类型安全的方式进行变化的方案。
如果您有这种情况,我很乐意看到。这将指向有一天在CLR中实现这一点。
更新:请参阅
为什么C#4.0中的类没有通用差异?
有关此问题的更多信息。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)