Пользовательский «ExportFactory»

Настольное приложение, использующее 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);

Я не хочу ничего импортировать со стороны моих частей.

Пример проекта (с конструктором без параметров) можно найти здесь .

6
задан Xaqron 15 December 2010 в 10:37
поделиться