В настоящее время им пытаются реализовать EventAggregator, используя призму для публикации и подписки на события между двумя модулями.Как публиковать событие через Prism EventAggregator?
Я пытаюсь реализовать его так, как описано здесь MSDN. Но я застрял уже в начале.
Я реализовал событие в моей пространстве имен Инфраструктура:
namespace Infrastructure
{
public class MyAggregatorEvent : PubSubEvent<string>{}
}
В моем первом модуле я хотел бы опубликовать/поднять это событие следующим образом»
private PublishEvent()
{
IEventAggregator _eventAggregator = ServiceLocator.Current.GetInstance<IEventAggregator>();
_eventAggregator.GetEvent<MyAggregatorEvent>().Publish("Test");
}
Но проблема в том, что я не могу назвать метод Publish(). Я всегда получаю сообщение об ошибке:
Инфраструктура.MyAggr egatorEvent 'не содержит определения для «Публикация» и не используется метод расширения «Опубликовать», принимающий первый аргумент типа «Инфраструктура.MyAggregatorEvent» (вы используете без указания использования или ссылки на сборку?) D: \ PviVm.cs ModulePvi
Я прочитал много статей в Интернете, но не мог понять, что я делаю неправильно.
Есть ли у кого-нибудь идея, что я делаю неправильно?
Является ли 'PubSubEvent' расположенным в той же сборке с 'MyAggregatorEvent'? Если нет, вам нужно добавить ссылку на эту сборку из проекта, где вы написали 'PublishEvent()'. –
Fka
Из статьи MSDN, которую вы использовали: 'PubSubEvent можно найти в пространстве имен Microsoft.Practices.SubSubEvents, которое находится в пакете NuGet Prism.PubSubEvents.« Вы включили эту сборку? –