0

不确定这是否是设计决定,但 IMessenger.Send 似乎缺少接受令牌的重载

4

1 回答 1

2

假设您所说的“令牌”是指标识有关消息的某些内容的字符串,那么您可以做几件事。

  1. 您可以使用 NotificationMessage 类作为您发送的消息。

    Messenger.Default.Send(new NotificationMessage("Token"));
    
  2. 如果你想使用字符串以外的东西作为令牌,你可以使用 NotificationMessage。

    Messenger.Default.Send(new NotificationMessage<IToken>(new Token()));
    
  3. 您可以创建自己的消息类并使用它。这使您可以仅注册自定义类型的消息。这是我推荐的。

    public class ErrorMessage : GenericMessage<Exception>
    {
        public ErrorMessage(Exception content) : base(content)
        {
        }
        public ErrorMessage(object sender, Exception content) : base(sender, content)
        {
        }
        public ErrorMessage(object sender, object target, Exception content) : base(sender, target, content)
        {
        }
    }
    
于 2010-06-28T16:37:18.340 回答