【发布时间】:2013-01-19 12:23:58
【问题描述】:
.NET 4.5 中的新只读接口(例如 IReadOnlyCollection<T> 和 IReadOnlyDictionary<TKey,TValue>)非常有用,尤其是因为它们已在常见的 BCL 类型(例如 Collection<T>、List<T> 和 Dictionary<TKey,TValue>)上实现。
但是,HashSet<T> 和 SortedSet<T> 还没有升级为实现 IReadOnlyCollection<T>,我看不出这个决定背后的逻辑,因为这些类在没有任何修改或重大更改的情况下与接口匹配。它只是被 BCL 团队忽略了,还是我在这里遗漏了什么?
(这特别烦人,因为没有内置方法可以将集合包装在 IReadOnlyCollection<T> 中。确实,ReadOnlyCollection<T> 包装 IList<T> 而不是 ICollection<T>。我知道编写自己的包装器是微不足道的。 )
【问题讨论】:
标签: collections .net-4.5 base-class-library