J’ai jeté un coup d’oeil sur IList
et ICollection
sur MSDN par hasard, et constate que la définition de ces deux interfaces est la suivante:
public interface ICollection : IEnumerable, IEnumerable public interface IList : ICollection, IEnumerable, IEnumerable
Notez que ICollection
hérite de IEnumerable
et IEnumerable
, ce n’est pas grave. IList
hérite de ICollection
, mais pourquoi IList
doit encore hériter de IEnumerable
et IEnumerable
?
Y a-t-il une raison à cela?
La documentation est générée de cette manière afin que vous puissiez voir quelles interfaces un type implémente sans avoir à suivre des liens transitifs à travers la hiérarchie d’inheritance d’interface.