12 Stimmen

Abrufen eines Exports aus einem MEF-Container mit nur einer Type-Instanz

Ich habe ein Szenario, in dem ich einen Export von meiner CompositionContainer-Instanz erhalten muss, aber ich habe nur einen Typ, mit dem ich arbeiten kann; ich kenne den Typ nicht zur Kompilierzeit, daher kann ich das exportierte Objekt nicht auf die normale generische Weise abrufen.

Normalerweise würden Sie dies tun:

_container.GetExportedObject<IMyType>();

Aber in meinem Fall habe ich das hier:

Type someType = ... ;
_container.HowDoIGetTheExport(someType);

Irgendwelche Ideen?

22voto

Nathan Ridley Punkte 32508

Ich habe die Antwort gefunden:

var export = _container.GetExports(someType, null, null).FirstOrDefault();

1voto

Preet Sangha Punkte 62622

Erstellen Sie den Aufruf dynamisch mit Type.MakeGeneric.....

http://geekswithblogs.net/marcel/archive/2007/03/24/109722.aspx

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X