J'ai une interface définie comme :
public interface MyInterface {
object foo { get; set; };
}
et une classe qui implémente cette interface :
public class MyClass : MyInterface {
object foo { get; set; }
}
Je crée ensuite une fonction qui renvoie une ICollection comme ceci :
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;
}
Il compilerait mais lancerait un
Impossible de convertir l'objet de type 'System.Collections.Generic.List
1[MyInterface]' to type 'System.Collections.Generic.IEnumerable
1[MyClass]'.
exception. Qu'est-ce que je fais mal?