我一直在重新构建某些使用MVVM Foundation中的Messenger的代码,现在要改为使用MVVM Light Toolit中的Messenger。有一件事情我似乎找不到相应的替代方案,那就是在你只想发送一个Token的情况下(即,Token同时充当消息的唯一标识符和消息本身)。
原始代码(MVVM Foundation)- 一个字符串搞定所有。
“New Code (MVVM Light)” - 有没有比这更优雅的解决方案?
我意识到我可以明确地创建一个
原始代码(MVVM Foundation)- 一个字符串搞定所有。
// send code
mvvmFoundationMessenger.NotifyColleagues("QuestionTimedOut");
// register code
mvvmFoundationMessenger.Register(
"QuestionTimedOut",
() => UpdateOnQuestionTimedOut());
“New Code (MVVM Light)” - 有没有比这更优雅的解决方案?
// send code
mvvmLightMessenger.Send("QuestionTimedOut", "QuestionTimedOut");
// register code
mvvmLightMessenger.Register<string>(
this,
"QuestionTimedOut",
token => UpdateOnQuestionTimedOut());
我意识到我可以明确地创建一个
NotificationMessage
,但那将会增加更多的代码。