MEF - импортированный объект пуст в конструкторе - PullRequest
0 голосов
/ 02 января 2012

Я использую MEF для внедрения UnityContainer в плагины моего приложения.

каждый из плагинов содержит панели.

Я хочу перенести контейнер Unity в панелитакже MEF.

Мне нужно использовать Unity в конструкторе панелей.

Проблема в том, что Unity не инициализируется.

Итак, я используюCompositionContainer.ComposeParts (панель) в плагине после того, как я создал панель.Проблема в том, что я хочу использовать Unity в конструкторе панелей.

Я не хочу отправлять UnityContainer или CompositionContainer в качестве параметра в конструкторе панели.

спасибо

1 Ответ

4 голосов
/ 04 января 2012

Вы не опубликовали некоторый код, поэтому я просто предполагаю:

, если вы делаете это таким образом:

public class Bar
{
   [ImportingConstructor]
   public Bar(IMyImportedService service)
   {
      //service should not be null
   }
}

, если вы делаете это таким образом

public class Bar
{
   [Import]
   private IMyImportedService service;

   public Bar()
   {
      //service should be null, because you have to implement IPartImportsSatisfiedNotificationand use OnImportsSatisfied
   }
}
...