这是看起来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>
接口。
答案 0 :(得分:1)
实际上它并没有。您可以在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只是一个参考信息,这个界面仅为了清晰起见而添加。