使用MEF我想要执行以下操作。MEF,在请求分支时创建导入树
我有一个WPF Shell。我想从另一个DLL中导入一个UserControl,它也是我的MVP三元组视图。 MVP三元组的工作方式是,在演示者中,我有一个构造函数,它同时使用IModel和IView并将它们连接起来。 因此,为了使这项工作,我需要MEF做到以下几点:
- 创建的iView实现
- 创建IModel实施
- 创建演示,并通过IModel和IVIEW其构造
- 进口当它显示时,将Iiew实现到我的外壳中
取而代之的是,它只创建类型Exporting IView并将其传递到shell,基本上是skipp第2步和第3步。当你考虑这个问题时,它非常合乎逻辑,但是我怎么能告诉MEF在我请求一个IView时也创建整个黑社会。 我不需要引用Presenter,也不需要在我的Shell .dll中的任何其他位置引用模型,因此将它作为Import也不是一个选项(并且无论如何它都会非常难看:)。
我正在使用最新版本的MEF(预览2刷新)。 有人吗?
== ==更新
我找到了一个解决方案,我的博客上讲述在这里:
Krzysztof Koźmic's blog - Creating tree of dependencies with MEF
不过,我会很乐意,如果有人想出了一个更好的解决方案。**
你把[ImportingConstructor]放在构造函数上了吗? – 2008-11-07 00:15:41
是的,我检查了我提供的链接,有一个简化版本的代码和我的解决方案。它的工作原理,但我想知道是否有更好的方法来做到这一点。 – 2008-11-07 06:43:31