繁体   English   中英

WPF MEF和第三方库

[英]WPF MEF and 3rd party library

我有第三方DLL并且在这个dll中是这样的层次结构:类Node实现接口INode。 该dll在其中使用Ninject绑定。 我的应用程序使用此dll以及Prism和MEF作为IoC容器。 我以前没有在Prism和MEF中练习,所以我想做的一件事就是将INode绑定到Node。 我没有访问INode和Node的权限,所以不能这样写:

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

在Ninject中,我会这样进行:

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

我可以在MEF中做类似的事情吗? 日Thnx。

看看MEF的会议模型 您可以将它用于导出您无法控制的类型。 例如:

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 { }

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM