ICollection WTF?

time to read 1 min | 135 words

I’m just trying to implement a generic container for a collection from 1.1, and I took a real look at ICollection, there are not add/remove/contains methods!

WTF was going on in the mind of the person who designed it?


public interface ICollection : IEnumerable


      void CopyTo(Array array, int index);


      int Count { get; }

      bool IsSynchronized { get; }

      object SyncRoot { get; }



What is the use of such an interface? To provide synchronization primitives?  To allow coping to arrays? At least ICollection<T> has some abilities.