我需要将一些数据从一个地方异步发送到另一个地方。为此,我使用 GalaSoft.MvvmLight.Messaging。
如果我要发送一个参数,则没有问题。
铁。
//Sends
public void SendDriverToClient(Driver driver)
{
Messenger.Default.Send<Driver>(driver, MessengerTokensServer.ReceiveDriver);
}
//Register
Messenger.Default.Register<Driver>(this, MessengerTokensServer.ReceiveDriver, ReceiveDriver);
//Receive
private void ReceiveDriver(Driver driver)
{
//Instructions
}
问题是当我有多个参数要发送时。
铁。
public void SendLinesUpdatedInTOToClient(int toTempId, TransportOrder to)
{
Messenger.Default.Send<int, TransportOrder>(*Here I should have to place toTempId & to*, MessengerTokensServer.GetUpdatedTransportOrder);
}
我已经有了自己的解决方案,但可能不是正确的方法。当前代码是这样的:
class ObjectHolder
{
public TransportOrder UpdatedTransportOrder { get; set; }
public int TempId { get; set; }
}
public void SendLinesUpdatedInTOToClient(int toTempId, TransportOrder to)
{
Messenger.Default.Send<ObjectHolder>(new ObjectHolder{UpdatedTransportOrder = to, TempId = toTempId}, MessengerTokensServer.GetUpdatedTransportOrder);
}
谢谢!