[英]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.