Используя MEF, я хочу сделать следующее.
У меня есть оболочка WPF. В оболочку я хочу импортировать из другой DLL пользовательский элемент управления, который также является представлением моей триады MVP. Триада MVP работает следующим образом: в Presenter у меня есть конструктор, который берет и IModel, и IView и связывает их. Итак, чтобы это работало, мне нужно, чтобы MEF сделал следующее:
- Создать реализацию IView
- Создать реализацию IModel
- Создайте Presenter и передайте IModel и IView его конструктору.
- Импортировать реализацию IView в мою оболочку, когда она отображается
Вместо этого он только создает тип Exporting IView и передает его в оболочку, в основном пропуская шаги 2 и 3. Это довольно логично, если подумать, но как я могу сказать MEF также создать всю триаду, когда Я прошу IView. Мне не нужно ссылаться ни на Presenter, ни на модель где-либо еще в моей оболочке .dll, поэтому помещать его в качестве импорта также не вариант (и в любом случае это было бы довольно уродливо :).
Я использую последнюю версию MEF (Preview 2 Refresh). Любой?
==Обновление==
Я нашел решение и написал об этом в своем блоге здесь:
Блог Кшиштофа Козмича - Создание дерева зависимостей с помощью MEF
Однако я был бы более чем счастлив, если бы кто-то предложил лучшее решение.**