Wie kann ein mit MEF exportiertes Objekt mit Ninject instanziiert werden?

Meine Anwendung verwendet MEF, um einige Klassen aus einer externen Assembly zu exportieren. Diese Klassen sind für die Konstruktorinjektion eingerichtet. Das Problem, mit dem ich konfrontiert bin, ist, dass MEF versucht, die Klassen zu instanziieren, wenn ich versuche, auf sie zuzugreifen. Gibt es eine Möglichkeit, Ninject für die Instanziierung der Klasse zu sorgen?

IEnumerable<Lazy<IMyInterface>> controllers = 
    mefContainer.GetExports<IMyInterface>();

// The following line throws an error because MEF is 
// trying to instantiate a class that requires 5 parameters
IMyInterface firstClass = controllers.First().Value;
Aktualisieren

Es gibt mehrere Klassen, die @ implementierIMyInterface und ich möchte diejenige auswählen, die einen bestimmten Namen hat, und Ninject dann eine Instanz davon erstellen lassen. Ich bin mir nicht sicher, ob ich Faulheit will.

[Export(typeof(IMyInterface))]
public class MyClassOne : IMyInterface {

     private MyRepository one;
     private YourRepository two;

     public MyClassTwo(MyRepository repoOne, YourRepository repoTwo) {
            one = repoOne;
            two = repoTwo;
     }         
}

[Export(typeof(IMyInterface))]
public class MyClassTwo : IMyInterface {

     private MyRepository one;
     private YourRepository two;

     public MyClassTwo(MyRepository repoOne, YourRepository repoTwo) {
            one = repoOne;
            two = repoTwo;
     }


}

Mit MEF möchte ich entwederMyClassOne oderMyClassTwo und dann muss Ninject eine Instanz von @ bereitstelleMyRepository undYourRepository (Beachten Sie, dass diese beiden in einem Ninject-Modul in der Hauptassembly gebunden sind und nicht in der Assembly, in der sie sich befinden.)

Antworten auf die Frage(4)

Ihre Antwort auf die Frage