Я понимаю, что любая коллекция (здесь я говорю о регулярных не общих) должна была реализовывать ICollection, IEnumerable и IList для регулярной коллекции объектов или IDictionary в случае словарей.Почему мы реализуем интерфейсы рекурсивно?
[Тем не менее, вопрос, который я спрашиваю, не относится к коллекции]
IList является производным от ICollection и IEnumerable
ICollection является производным от IEnumerable
Разве это не просто достаточно, чтобы сделать коллекцию (Например, ArrayList) реализовать IList?
В обозревателе объектов показано, что классы коллекции (например, ArrayList) реализуют IList, ICollection и IEnumerator.
Я понимаю, что даже если мы укажем все три коллекции, .Net будет принимать определения только один раз.
Но мой вопрос,
Есть ли лучшая практика или рекомендация, которая направляет нас, чтобы указать все три интерфейса для класса коллекции (или любого класса похожее на это)?
Или это просто свойство обозревателя объектов, которое отображает его как 3 отдельные реализации? [Только что проверили и обнаружили, что это не свойство обозревателя объектов. браузер объектов отображает только интерфейсы, которые указаны в определении класса]
Указанные описания могут быть излишними, но они не являются рекурсивными. – dthorpe