偶然在MSDN上看了一下IList<T>
,ICollection<T>
看到这两个接口的定义是:
public interface ICollection<T> : IEnumerable<T>, IEnumerable
public interface IList<T> : ICollection<T>, IEnumerable<T>, IEnumerable
注意ICollection<T>
继承自IEnumerable<T>
and IEnumerable
,没关系。IList<T>
继承自,ICollection<T>
但为什么IList<T>
必须再次继承?IEnumerable<T>
IEnumerable
这有什么理由吗?