为什么ReadOnlyCollection <t>不是ReadOnlyCollection <out t =“”>?</out> </t>

时间:2012-09-01 00:35:43

标签: c# generics

ReadOnlyCollection<T>仅支持阅读操作。为什么T未标有out关键字?

1 个答案:

答案 0 :(得分:5)

  

ReadOnlyCollection仅支持读取操作

它只支持读取,因为它是通用只读集合的​​基类。

  

为什么T没有标记为out关键字?

out关键字表示参数是协变的,只有接口和委托可以是协变的。请注意,ReadOnlyCollection<T>实现了IEnumerable<T>,这是协变的。