Настольное приложение, использующее MEF
, импортирует множество «ServiceProvider'ов». Каждая часть (ServiceProvider) представляет собой класс внутри отдельной DLL .
Все библиотеки DLL находятся в папке «Plugin», которая используется настольным приложением.
Поскольку мне нужны были новые экземпляры моих частей, ExportFactory
был лучшим выбором. Проблема в том, что у моих частей есть конструкторы. Мне нужен пропуск некоторые параметры в конструкторе части, которая не поддерживается ExportFactory
(MEF2, Preview2).
Мне нужно что-то вроде этого:
// Each part has its own dependency
Dependency dependency = LoadDependency(myPart.Metedata["Name"]);
// Injecting dependency into part's constructor
myPart.CreateExport(dependency);
Я не хочу ничего импортировать со стороны моих частей.
Пример проекта (с конструктором без параметров) можно найти здесь .