У меня есть интерфейс, определенный как:
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]' печатать «System.Collections.Generic.IEnumerable
1 [MyClass]».
исключение. Что я делаю не так?