Почему HashSet не реализует IReadOnlyCollection?

Я только что обнаружил, что.NET Fx теперь имеет 3 полезных интерфейса:

  1. IReadOnlyCollection
  2. IReadOnlyList
  3. IReadOnlyDictionary

И я немного смущен, почемуHashSetне реализовать IReadOnlyCollection? Есть ли какие-то причины, или Microsoft просто снова забыла о наборах?

УПД

После двух -часов гугления я обнаружил, что в BCL есть много коллекций, которые имеют свойство .Count, но не реализуют интерфейс IReadOnlyCollection.

УПД2

Я нашел этот постhttp://social.msdn.microsoft.com/Forums/en/netfxbcl/thread/b4fb991a-3f5c-4923-93d4-7cd5c004f859и ответ Иммо Ландверта , где он сказал следующее

Will other collections besides List<> and Dictionary<> be updated to support these interfaces?

Absolutely. In fact, all of our built-in collection types already implement IReadOnlyList<> and IReadOnlyDictionary<>. This means, you can directly pass an instance of List, T[] or Dictionary<> to an API that takes an IReadOnly-version of it.

15
задан hazzik 11 June 2014 в 02:32
поделиться