2011-09-05 41 views
2

我想用MEF構建一個可擴展的NET應用程序。這非常適合在我的應用程序中發現和注入新類型的實例。我遇到的問題是,我使用的一些API不允許注入新對象,而是接收輸入的那些插入對象的類型,這顯然是未知的編譯時間。當然,我可以在運行時在我的代碼中解析對象的類型,但爲了使API能夠工作,我還必須加載包含插件的程序集,這一步顯然不是在典型的MEF應用程序中執行的。我可以在運行時通過掃描新插件將被轉儲的目錄並加載這些dll-s,但這不再感覺到MEFy了。是否有其他方法?謝謝。MEF:注入類型與對象一起?

回答

3

我能做到這一點,在通過 運行掃描,其中新的插件將傾,並加載這些DLL -S但這並不覺得很MEFy了..有一些其他 方式的目錄?

通常情況下,您使用MEF編寫對象,而不是查找類型。

但是MEF確實實現了您在DirectoryCatalog中描述的內容。您可以枚舉使用DirectoryCatalog.Parts屬性導出的具有MEF屬性的零件。