2014-10-13 4 views
1

ICollection осуществляется из Ienumberable (ICollection: IEnumerable), то почему снова ICollection & IEnumerable и реализуют для IList (интерфейс IList: ICollection, IEnumerable).Почему IList реализует как от ICollection и IEnumerable, ICollection Eventhough: IEnumerable

+0

Вы не правы. Можете ли вы показать источник своего заявления? –

ответ

1

документация показывает все реализованные интерфейсы для осветления, так что вы можете увидеть все реализованные интерфейсы легко (я предполагаю, что это, почему вы спрашиваете это.)

В коде эти две версии являются equivelant:.

IList<T> : ICollection<T> 

IList<T> : ICollection<T>, IEnumerable<T> 
+0

Не спрашивайте, основываясь на цели документации. Реальная подпись сама по себе. Если вы говорите, это просто показывает все более высокое имя inteface. Тогда это означает, что он показывает для всех.? –

2

Ваше предположение неверно.

The reference source for System.Collections.IList показывает, что она определяется как

public interface IList : ICollection 

Было бы правильным и означало бы точно то же самое, если IEnumerable был включен в список, но вопреки тому, что Ваш вопрос государств, это ISN «т.

+0

Sorr hvd, что бы вы ни говорили, на самом деле не ожидание. –

+0

@MadhusudhanVIndian Er ... Что? Вы спросили, почему «IList» определяется как «IList: ICollection, IEnumerable», а не просто «IList: ICollection», как вы ожидали, не так ли? Я думаю, что я совершенно убедительно показал, что он * определен как «IList: ICollection». – hvd

+0

hdv: вы просто повторяете мой вопрос, но не отвечаете ... Извините за это ... Здесь я ожидаю, почему icollection & ienumerable упоминается вместо того, чтобы только icollection (потому что icollection: IEnumerable) ... * Пожалуйста, t mix generics здесь * –

-2

Интерфейс ICollection расширяет IEnumerable.

IList - это более специализированный интерфейс, расширяющий ICollection.

источник: http://msdn.microsoft.com/en-us/library/system.collections.icollection%28v=vs.110%29.aspx (см примечания)

+0

Как это отвечает на вопрос? –

+0

Я хочу уточнить, что интерфейс не реализует методы другого интерфейса, а просто расширяет их. –

+0

Приятно, но это не ответ на его вопрос. –

Смежные вопросы