これが設計上の決定であったかどうかはわかりませんが、IMessenger.Sendには、トークンを受け入れるオーバーロードがないようです。
1 に答える
2
「トークン」とは、メッセージに関する何かを識別する文字列を意味すると仮定すると、できることがいくつかあります。
送信するメッセージとして NotificationMessage クラスを使用できます。
Messenger.Default.Send(new NotificationMessage("Token"));
文字列以外のものをトークンとして使用する場合は、NotificationMessage を使用できます。
Messenger.Default.Send(new NotificationMessage<IToken>(new Token()));
独自のメッセージ クラスを作成して使用できます。これにより、カスタム タイプのメッセージのみを登録できます。これは私が推奨するものです。
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 に答える