Импорт MEF против Unity в модель представления - PullRequest
0 голосов
/ 02 октября 2011

При использовании Unity вы можете импортировать контейнер в конструктор модератора представления, например.

Но как мне импортировать контейнер MEF в модель представления для разрешения экземпляров?

Спасибо

1 Ответ

2 голосов
/ 02 октября 2011

Как правило, обходить контейнер не очень хорошая идея, так как вы в конечном итоге используете его как механизм service-location , но если вы захотите это сделать, вам понадобится вручную экспортировать контейнер, например:

var container = new CompositionContainer(catalog);
container.ComposeExportedValue(container);

Это позволит вам импортировать его:

[Import]
public CompositionContainer Container { get; set; }

Или:

[ImportingConstructor]
public MyClass(CompositionContainer container) { }
...