Возможный дубликат:
Почему IEnumerable <T> сделал ковариант в С# 4?
Я посмотрел MSDN для определения интерфейса IEnumerable<T>
и посмотрел:
public interface IEnumerable<out T> : IEnumerable
Мне было интересно, почему T определяется как out
, почему бы и нет?
public interface IEnumerable<T> : IEnumerable
В чем причина этого?