我在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