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