У меня проблема с классом импорта в интерфейсах в моем классе модели представления с MEF.
Я просматриваю модель, создаю свойство:
[Import]
private IEventAggregator EventAgg { get; set; }
и я хочу вписать этот агрегатор событий в конструктор модели представления:
Итак, я пытаюсь это:
public MessengerViewModel()
{
EventAgg.Subscribe(this);
}
Я запускаю приложение, но приложение зависает.
Поэтому я пытаюсь подписать агрегатор событий в методе OnImportsSatisfied:
public void OnImportsSatisfied()
{
EventAgg.Subscribe(this);
}
Но этот метод никогда не вызывается, когда создается класс модели представления.
Единственное решение, работа которого:
[ImportingConstructor]
public MessengerViewModel(IEventAggregator eventAggregator)
{
EventAgg = eventAggregator;
EventAgg.Subscribe(this);
}
Что плохого в первых двух путях?