2016-03-22 23 views
1

3. taraf dll var ve bu dll'de böyle bir hiyerarşi var: class Node arabirimini INode gerçekleştiriyor. Bu dll, içinde Ninject bağını kullanır. Benim uygulama bu dll ve Prism ve MEF IoC konteyner olarak kullanır. Daha önce Prism ve MEF'de çalışmadım, bu yüzden yapmak istediğim bir şey INode'u Node'a bağlamak. Ben inode ve Düğüm erişebilir, böylece böyle smth yazmayın Yapamam:WPF MEF ve 3. taraf kitaplığı

Böyle bir şekilde yaptım olur Ninject yılında
[Export(typeof(INode))] 
class Node : INode{...} 

:

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

ben bir şey yapabilir miyim MEF'de böyle mi? Thnx.

cevap

0

MEF's Convention Model'a bakın. Kontrol etmediğiniz türleri dışa aktarmak için kullanabilirsiniz. Örneğin:

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

başka yolu da onu kendi kodunu Node miras ve ihracat olacaktır:

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