2016-03-28 2 views
0

я это публикации/подписки события в одном модуле:Как подписаться на событие из разных модулей/сборок?

eventAggregator.GetEvent<StudioEnableEvent>().Publish((bool)arguments.ElementAt(1)); 

, а затем:

eventAggregator.GetEvent<StudioEnableEvent>().Subscribe(GetStudioEnableFromImport); 

и StudioEnableEvent просто:

public class StudioEnableEvent : PubSubEvent<bool> 
    { 
    } 

Теперь я хотел бы сделать но для издателя и подписчика, которые расположены в двух разных модулях и без необходимости ссылаться на сборку модуля.

ответ

2

Лучшим подходом к этой проблеме является создание другого проекта в вашем решении, которое могут ссылаться на все проекты модулей. Мне нравится называть мой Core, или что-то в этом роде. Там я создаю классы событий, и таким образом я могу поделиться ими во всех модулях. Вы также можете объявить любые другие общие ресурсы в этом проекте.

+0

Да, я тоже думал об этом. Я уже делал это для интерфейсов, которые разделены между собой, но мне просто интересно, есть ли какой-то лучший способ. Благодарю. – Ivan

+1

Я не могу думать о лучшем подходе с манжетой. Мне нравятся эти централизованные проекты; они хороши для проведения мероприятий, исключений, простых услуг и т. д. –

Смежные вопросы