tüm ihracat aynı sözleşme türüne sahip iki ihracatını var ama farklı sözleşme adıylaServis Bulucu:</p> <pre><code>[Export("TypeA", typeof(MyPlugin))] [Export("TypeB", typeof(MyPlugin))] </code></pre> <p>kullanıyorum her ihracatını geri alabilirsem: Ben <em>MEF</em> ve ben kullanıyorum
Ör alın kendi ilgili sözleşme adı:
ServiceLocator.GetExportedValues<MyPlugin>("TypeA");
Ama şimdi MyPlugin
uygulayan tüm örneklerini almak istiyoruz. Yapabileceğim herhangi bir yol var mı? Aşağıdaki kodu kullanarak denedim
:
ServiceLocator.GetExportedValues<MyPlugin>();
Ama işe yaramadı. Görünüşe göre, yalnızca belirli bir sözleşme adı olmayan uygulamaları almak için kullanılır.
Herhangi bir fikir?
kullanarak bunları ithal? –
Beyanname aynıdır, ancak Mef'in tüm örnekleri doğrudan kapsayıcıya/kataloğa başvurmak zorunda kalmadan nasıl enjekte edebildiğinizi de gösteriyorum. Bu, DI çerçevesinin nasıl kullanılması gerektiğine dair uygun bir yöntemdir. –