C# WPF MEF和第三方库

C# WPF MEF和第三方库,c#,.net,wpf,ninject,mef,C#,.net,Wpf,Ninject,Mef,我有第三方dll,在这个dll中是这样的层次结构:类节点实现接口INode。此dll在其中使用Ninject绑定。我的应用程序使用这个dll、Prism和MEF作为IoC容器。我以前没有在Prism和MEF中练习过,所以我想做的一件事是将INode绑定到节点。 我没有访问INode和Node的权限,因此无法编写smth: [Export(typeof(INode))] class Node : INode{...} 在Ninject中,我会这样做: Bind<INode>().To

我有第三方dll,在这个dll中是这样的层次结构:类节点实现接口INode。此dll在其中使用Ninject绑定。我的应用程序使用这个dll、Prism和MEF作为IoC容器。我以前没有在Prism和MEF中练习过,所以我想做的一件事是将INode绑定到节点。 我没有访问INode和Node的权限,因此无法编写smth:

[Export(typeof(INode))]
class Node : INode{...}
在Ninject中,我会这样做:

Bind<INode>().To<Node>();
Bind().To();
我可以在MEF中做类似的事情吗?Thnx.

看一看。您可以使用它导出不受控制的类型。例如:

var registration = new RegistrationBuilder();
registration.ForType<Node>().Export<INode>();
var catalog = new AssemblyCatalog(typeof(Node).Assembly, registration);
var container = new CompositionContainer(catalog);
看一看。您可以使用它导出不受控制的类型。例如:

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