3
我有一个需要在代码中注册一个自定义类型的实例:如何使用MEF在代码中注册类型?
container.RegisterType(typeof(Isome), myvar);
所以它可以正常使用这样的:
[Import]
ISome var1 ;
我如何在容器上的参考?
我有一个需要在代码中注册一个自定义类型的实例:如何使用MEF在代码中注册类型?
container.RegisterType(typeof(Isome), myvar);
所以它可以正常使用这样的:
[Import]
ISome var1 ;
我如何在容器上的参考?
我不知道棱镜,但在MEF你不注册类型的容器 - 即引入了击败解耦代码为目的的相关性。
你做些什么,使现有的ISome
类型MEF发现是你把你的类的[Export(typeof(ISome))]
属性,它实现了ISome
接口。
在构图,MEF将看到键入的ISome接口类型导入属性,然后再去寻找键控在ISome接口类型匹配的出口。它会用Export属性找到你的实现类。 MEF将创建导出类的实例并将其分配给您的导入属性。
在合成步骤,你需要为MEF加载和做它的魔力牵线搭桥提供一个目录的类型或组件。确保包含实现类的程序集位于该目录组中。
我明白,但类型implmenting ISOME需要一些自定义初始化因此问题 – user1102610 2011-12-16 19:57:41