为什么IList<;T>;扩展了IEnumerable<;T>;和IEnumerable接口
本文关键字:gt IEnumerable lt 接口 IList 扩展 为什么 | 更新日期: 2023-09-27 18:30:09
这就是IList<T>
通用接口的外观
public interface IList<T> : ICollection<T>, IEnumerable<T>, IEnumerable
{
T this[int index] { get; set; }
int IndexOf(T item);
void RemoveAt(int index);
}
为什么IList<T>
同时扩展IEnumerable<T>
和IEnumerable
接口?
IEnumerable<T>
已经具有IEnumerable
。ICollection<T>
接口也是如此。
实际上并没有。你可以在Github:上看到实际的声明
[TypeDependencyAttribute("System.SZArrayHelper")] #if CONTRACTS_FULL [ContractClass(typeof(IListContract<>))] #endif // CONTRACTS_FULL public interface IList<T> : ICollection<T> { T this[int index] { get; set; } int IndexOf(T item); void Insert(int index, T item); void RemoveAt(int index); }
MSDN只是一个参考信息,添加这些接口只是为了清楚起见。