Я просматривал метаданные, сгенерированные для интерфейса IDictionary<TKey, TValue>
, и заметил, что он реализует
public interface IDictionary<TKey, TValue> : ICollection<KeyValuePair<TKey, TValue>>, IEnumerable<KeyValuePair<TKey, TValue>>, IEnumerable
Разве это не избыточно? Глядя на метаданные ICollection<T>
, видно, что он уже реализует IEnumerable<T>, IEnumerable
И почему IEnumerable<T>
подразумевает IEnumerable
, а ICollection<T>
не реализует ICollection
?