I was looking at the metadata generated for IDictionary<TKey, TValue>
interface and I noticed it implements
public interface IDictionary<TKey, TValue> : ICollection<KeyValuePair<TKey, TValue>>, IEnumerable<KeyValuePair<TKey, TValue>>, IEnumerable
Isn't this redundant? Looking at the metadata of ICollection<T>
it shows that it already implements IEnumerable<T>, IEnumerable
And why does IEnumerable<T>
implments IEnumerable
, while ICollection<T>
doesn't implement ICollection
?