MEF-Konstruktorparameter mit mehreren Konstruktoren

8

Ich fange an, MEF zu verwenden, und ich habe eine Klasse mit mehreren Konstruktoren, wie folgt:

%Vor%

Ich verwende catalog.ComposeExportedValue() beim Erstellen, um par1 zu liefern. Wert für zweiten Konstruktor:

%Vor%

Um die Komponenten zu halten, die ich verwende:

%Vor%

Und um die foo Instanz zu erstellen, verwende ich die Werteigenschaft FooList[0].Value .

Alles funktioniert gut, außer dass der zweite Konstruktor der Klasse foo nie aufgerufen wird. Was ist los mit dir?

Wie wähle ich den Konstruktor, den ich verwenden möchte, wenn MEF die Klasse instanziiert?

    
InterWAS 31.05.2010, 02:55
quelle

2 Antworten

8

MEF sollte den Konstruktor verwenden, dem Sie ImportingConstructorAttribute zuweisen. Ich bin mir nicht sicher, was für Sie passiert, ich konnte das Problem nicht reproduzieren. Hier ist ein Test, der zeigt, dass ein Import-Konstruktor für eine Klasse verwendet wird, die auch einen Standardkonstruktor hat:

%Vor%     
Daniel Plaisted 31.05.2010, 17:01
quelle
3

Übergeben Sie eine Instanz der foo-Klasse in die ComposeExportedValue-Methode? In diesem Fall wurde das Objekt bereits konstruiert, und der Konstruktor kann nicht erneut aufgerufen werden, sodass MEF die Konstruktorimporte ignoriert.

    
Daniel Plaisted 31.05.2010 05:32
quelle

Tags und Links