繁体   English   中英

如何使用MEF注册代码类型?

[英]How do I register type in code using MEF?

我有一个需要在代码中注册的自定义类型实例:

container.RegisterType( typeof(Isome), myvar);

所以它可以像这样正常使用:

 [Import] 
 ISome var1 ;

如何获取容器的引用?

我不知道Prism,但是在MEF中你没有用容器注册类型 - 这引入了一个依赖性,它破坏了解耦代码的目的。

如果您要让MEF发现的ISome类型,您可以在实现ISome接口的类上放置[Export(typeof(ISome))]属性。

在组合中,MEF将看到在ISome接口类型上键入的Import属性,然后查找在ISome接口类型上键入的匹配Export。 它将使用Export属性找到您的实现类。 MEF将创建导出类的实例,并将其分配给导入属性。

在合成步骤中,您需要为MEF提供类型或装配的目录以加载并完成其匹配魔术。 确保包含实现类的程序集位于该目录组中。

暂无
暂无

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

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