2016-03-22 13 views
1

私はサードパーティ製のdllを持っており、このdllにはこのような階層があります:クラスNodeはインタフェースINodeを実現します。このDLLは、Ninjectバインディングを使用しています。私のアプリケーションでは、このdllとPrismとMEFをIoCコンテナとして使用しています。以前はPrismとMEFで練習していませんでしたので、私がやりたいことの1つはINodeをNodeにバインドすることです。 私はiノードとノードへのアクセス権を持っているので、私はできないことのようになめらかに書き込みをしないでくださいNinjectでWPF MEFとサードパーティのライブラリ

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

私は、このような方法でそれをやったでしょう:

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

は、私が何かを行うことができますMEFのように? Thnx。

答えて

0

MEF's Convention Modelをご覧ください。制御できないタイプをエクスポートする場合に使用できます。たとえば:

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

もう一つの方法は、独自のコードでNodeを継承し、それをエクスポートするようになります:

[Export(typeof(INode))] 
class MyNode : Node { } 
関連する問題