Можно ли отправить только токен через MVVM Light Messenger? - PullRequest
5 голосов
/ 05 января 2011

Я проводил рефакторинг некоторого кода, который первоначально использовал Messenger в MVVM Foundation, чтобы теперь использовать Messenger в MVVM Light Toolit. Единственное, для чего я не могу найти эквивалент, - это случай, когда все, что вы хотите сделать, - это отправить токен (т. Е. Токен действует как уникальный идентификатор сообщения и сообщения. сам по себе).

Оригинальный код (Фонд MVVM) - одна строка делает все

// send code
mvvmFoundationMessenger.NotifyColleagues("QuestionTimedOut");

// register code
mvvmFoundationMessenger.Register(
    "QuestionTimedOut",
    () => UpdateOnQuestionTimedOut());

Новый код (MVVM Light) - есть ли более элегантное решение, чем это?

// send code
mvvmLightMessenger.Send("QuestionTimedOut", "QuestionTimedOut");

// register code
mvvmLightMessenger.Register<string>(
    this,
    "QuestionTimedOut",
    token => UpdateOnQuestionTimedOut());

Я понимаю, что мог бы явно обновить NotificationMessage, но это добавило бы еще больше кода.

Ответы [ 2 ]

5 голосов
/ 06 января 2011

Хороший вопрос.Я поставил это в задел для MVVM Light VNext.

0 голосов
/ 05 января 2011

Вы можете получить из MvvmLight Messenger и добавить свои собственные удобные методы, или вы можете добавить Messenger Методы расширения в классе расширения.

...