У меня есть метод с параметром объекта.
public bool ContainsValue(object value)
Я обнаружил, что преобразование объекта в IList
работает.
IList<object> list = (IList<object>)value;
Однако преобразование его в List
не дает.
List<object> Ilist = (List<object>)value;
Я посмотрел на определения IList
и List
, и они оба, кажется, реализуют интерфейсы Enumerator
и Collection
. Мне интересно, почему List
не работает, а IList
работает. Где в фреймворке происходит сбой и почему?