2016-03-22 9 views
1

Ich habe 3rd-Party-DLL und in dieser DLL ist solche Hierarchie: Klasse Knoten realisieren Schnittstelle INode. Diese DLL verwendet Ninject-Bindung darin. Meine Anwendung verwendet diese DLL und Prism und MEF als IoC-Container. Ich habe vorher nicht in Prism und MEF geübt, also möchte ich INode an Node binden. ich, keinen Zugriff auf INode und Knoten haben so schreiben smth so kann ich nicht:WPF MEF und 3rd Party Bibliothek

[Export(typeof(INode))] 
class Node : INode{...} 

In Ninject würde ich tat es in einer solchen Art und Weise:

Bind<INode>().To<Node>(); 

Kann ich etwas tun, So in MEF? Thnx.

Antwort

0

Werfen Sie einen Blick auf MEF's Convention Model. Sie können es zum Exportieren von Typen verwenden, die Sie nicht steuern. Zum Beispiel:

var registration = new RegistrationBuilder(); 
registration.ForType<Node>().Export<INode>(); 
var catalog = new AssemblyCatalog(typeof(Node).Assembly, registration); 
var container = new CompositionContainer(catalog); 

Ein anderer Weg wäre Node in Ihrem eigenen Code zu erben und exportieren:

[Export(typeof(INode))] 
class MyNode : Node { } 
Verwandte Themen