Я реорганизовал некоторый код, который первоначально использовал Messenger
в MVVM Foundation, чтобы теперь использовать Мессенджер
в MVVM Light Toolit. Единственное, что я не могу найти эквивалента, это случай, когда все, что вы хотите сделать, это отправить токен (т. Е. Токен действует как уникальный идентификатор для сообщения и сообщения
Исходный код (MVVM Foundation) - всего одна строка
// 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
, но это добавит еще больше кода.