MEF создает объект явно - PullRequest
       9

MEF создает объект явно

0 голосов
/ 02 декабря 2011

Я пытаюсь создать объекты явным образом, подобно методу Spring ApplicationContext.getBean(), который создает объекты со всеми зависимостями, инициализированными в этом объекте, я не очень осведомлен о MEF, я пытался искать в Интернете то же самое, но не смог найти метод явного вызова создания объекта со всеми его инициализированными зависимостями,

Кто-нибудь знает метод, который позволяет явно создавать объекты со всеми инициализированными импортами?

Заранее спасибо,

1 Ответ

4 голосов
/ 02 декабря 2011

Попробуйте

ExportedType instance = compositionContainer.GetExportedValue<ExportedType>();

Где compositionContainer - ваш CompositionContainer экземпляр, а ExportedType - тип, для которого вы хотите создать / получить экземпляр.

Как получить экземпляр CompositionContainer?
Один раз используйте следующий код:

CompositionContainer compositionContainer = CompositionHost.Initialize(catalog);

Где catalog - это ваш каталог MEF (обычно это экземпляр AggregateCatalog).

...