C # Реализации EventPublisher - PullRequest
0 голосов
/ 06 марта 2011

Я знаю, что в Microsoft Prism есть EventAggregator. И я также нашел один на CodeProject.

Есть ли лучшие альтернативы?

Спасибо

Обновление:

Только что нашел очень похожий вопрос (опубликован в феврале 2010 г.): https://stackoverflow.com/questions/2343980/event-aggregator-implementation-sample-best-practices

Ответы [ 3 ]

1 голос
/ 06 марта 2011

Для WPF / Silverlight.Я использовал и мне нравится Messenger Class из MVVM Light toolkit .Я думаю, что это может быть использовано и в формах Windows.

Вы используете это так (ссылка сверху):

// Somewhere
Messenger.Default.Register<string>(this, DoSomething);
// Further
private void DoSomething(string message)
{
    // ...
}
// Somewhere else
Messenger.Default.Send(“Hello world”)

См. Это для получения дополнительной информации о MVVM Light: http://www.galasoft.ch/mvvm/getstarted/

0 голосов
/ 07 марта 2011

Вот хорошая реализация , а также хорошая и связанная с ней запись об агрегации событий в целом.

В качестве лакмусовой бумажки «добра» это послужило вдохновением для теста, используемого в рамках Caliburn.

НТН
Berryl

0 голосов
/ 06 марта 2011

Я не знаю, лучше ли это, но я внедрил и поддерживаю MemBus , который я предпочитаю описывать в большей степени "шиной публикации / подписки в памяти", но на самом деле это довольно простоиспользуйте его как агрегатор событий.

Публикация, подписка довольно проста в использовании, поддержка IoC легко добавляется и т. Д., И т. Д. Она требует .NET 4 и доставляет массу удовольствия, если вы используете Rx Framework, поскольку MemBus может создавать реализации IObservable.Вы найдете документацию здесь

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...