У меня есть интерфейс, определенный как:
public interface MyInterface {
object foo { get; set; };
}
и класс, реализующий этот интерфейс:
public class MyClass : MyInterface {
object foo { get; set; }
}
Затем я создаю функцию, которая возвращает ICollection следующим образом:
public ICollection<MyClass> Classes() {
List<MyClass> value;
List<MyInterface> list = new List<MyInterface>(
new MyInterface[] {
new MyClass {
ID = 1
},
new MyClass {
ID = 1
},
new MyClass {
ID = 1
}
});
value = new List<MyClass>((IEnumerable<MyClass>) list);
return value;
}
Это скомпилируется, но выкинет
Невозможно привести объект типа
'System.Collections.Generic.List 1[MyInterface]'
to type
'System.Collections.Generic.IEnumerable
1 [MyClass].
исключение. Что я делаю не так?