我使用MEF和我有兩個出口具有相同的合同類型,但具有不同的合同名稱服務定位器:獲取所有出口
如:
[Export("TypeA", typeof(MyPlugin))]
[Export("TypeB", typeof(MyPlugin))]
我可以使用檢索每個出口其各自的合同名稱:
ServiceLocator.GetExportedValues<MyPlugin>("TypeA");
但現在我想找回實施MyPlugin
所有實例。有什麼辦法可以做到嗎?
我用下面的代碼嘗試:
ServiceLocator.GetExportedValues<MyPlugin>();
但沒有奏效。顯然,它僅用於檢索沒有特定合約名稱的實施。
有沒有意見嗎?
這是怎麼回答比@ default.kramer的任何不同的導入? –
聲明是一樣的,但我也告訴你如何讓Mef注入所有實例而不必直接引用容器/目錄......這是如何使用DI框架的正確方法。 –