Если метод принимает параметр типа System.Collections.IList, могу ли я законно/безопасно передать значение типа System.Collections.Generic.IEnumerable<T>
?Преобразование IEnumerable <T> в IList
Я хотел бы получить подробное объяснение, почему это возможно и что на самом деле происходит с объектом T
, когда в методе используется IEnumerable<T>
.
Он преобразуется в базовый тип объекта?
Используется ли он как System.Collections.IEnumerable
?
Существуют ли сценарии, в которых это может вызвать проблемы (например, проблемы с производительностью)?
Спасибо заранее, Джон