Comment puis-je convertir une Liste<interface> Liste<béton>?

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; }
}

J'ai ensuite créer une fonction qui renvoie un ICollection comme suit:

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 serait procédé, mais jeter un

Impossible de convertir l'objet de type
'Système.Les Collections.Génériques.Liste1[MyInterface]'
to type
'System.Collections.Generic.IEnumerable
1[Maclasse]'.

exception. Ce que je fais mal?

InformationsquelleAutor acermate433s | 2011-05-16