使用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