我在Silverlight 5中使用MVVMLight。 有谁知道为什么它不能发送空消息吗?MVVMLight Messenger无法发送空消息
我使用发送(TMessage消息)
Messenger.Default.Send(空);
一般来说,如果viewmodels需要相互交谈,是不是这样做的一种方法呢? 它看起来很奇怪,我不能发送空消息。 在我的情况下,我有一个视图模型需要共享的Map对象。
谢谢。
我在Silverlight 5中使用MVVMLight。 有谁知道为什么它不能发送空消息吗?MVVMLight Messenger无法发送空消息
我使用发送(TMessage消息)
Messenger.Default.Send(空);
一般来说,如果viewmodels需要相互交谈,是不是这样做的一种方法呢? 它看起来很奇怪,我不能发送空消息。 在我的情况下,我有一个视图模型需要共享的Map对象。
谢谢。
在MVVM Light V4 beta中,引入了一个回归错误,该错误导致空消息失败并返回NullReferenceException。这个错误将尽快修复。
干杯, 洛朗
我对所讨论的特定库不熟悉,但是如果您使用泛型参数调用方法,则不能简单地传递null,因为null表示“无”,并且它不需要任何特殊类型。因此,对于状空洞Send<TMessage>(TMessage messgae)
的方法,你就必须这样做:
Send<string>(null);
或
Send((string)null);
如果随后得到的运行时异常(如NullArgumentException),那么你可以考虑一下定义NoMessage键入某种您想要封装的默认/不需要的行为(请参阅Null Object Pattern)。
谢谢你洛朗 – 2012-04-05 17:52:11
已将它未定? – 2012-04-06 11:05:07