Это как выглядит IList<T>
общий интерфейсПочему IList <T> расширяет оба IEnumerable <T> и IEnumerable интерфейсы?
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>
.
Фактически это [не было] (https://github.com/dotnet/coreclr/blob/master/src/mscorlib/src/System/Collections/Generic/IList.cs). MSDN - это просто справочная информация, и эти интерфейсы добавлены только для ясности. –
Возможно, просто для того, чтобы сделать это явным для кого-то, кто смотрит на объявление? –
Возможно, опечатка на странице MSDN: http://referencesource.microsoft.com/#mscorlib/system/collections/generic/ilist.cs – Dennis