Можно ли отправить только токен через MVVM Light Messenger?

Я рефакторинг некоторого кода, который первоначально использовал 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 ответа

Решение

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

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

Другие вопросы по тегам