2013-08-26 21 views
0

以下文章使用MEF和PRISM在WPF中創建複合模塊化UI應用程序,我按照說明使用了WPF應用程序,並且我的視圖注入到主窗口的某個區域中時工作正常。但是,對於導出MEF部件的模塊項目,我已將輸出目錄設置到某個部分存儲庫目錄中。當我構建解決方案時,我的ModuleA.dll被置於該目錄中,但具有所有依賴關係。如何在MEF目錄中識別我自己的零件?

我在零件回購目錄上使用了一個DirectoryCatalog,它包含26個部分,其中只有1個是我的。我想從該目錄中提取一部分我不使用原始反射的部分列表,例如而不是通過檢查裝配和建立一個AssemblyCatalog。有什麼方法可以在目錄上調用Parts,並檢查導出以查看哪些是我的?如果我瀏覽目錄,我可以看到我的部分,但是我看不到任何可以用語法進行檢查的屬性。

+0

將組件定義爲「你的」? –

+0

我寫的那個,羅伯特;包含目錄中的26個零件中的1個零件。 – ProfK

回答

1

如果你只想從一個特定的程序集中加載東西,那麼就會違背MEF的全部要點...如果這就是你想要的,只需直接引用該程序集即可。如果你想用MEF的方式來做事情,應用程序不應該關心目錄中的內容 - 它應該只是「導入」它所需的接口,並讓框架找出哪個部分滿足這個接口。假設你已經爲你的零件定義了一個自定義接口,MEF只會在你的1程序集中找到它的一個實現,並且在其他25個程序集中找不到任何東西。