使用泛型类型参数接收消息

时间:2018-06-19 10:58:30

标签: c# generics mvvm-light

我的虚拟机使用特殊的通用类AppMessage(来自GenericMessage)向View层发送通知消息:

public bool ShowDialog<T>(AppMessageType type, T arg) where T : class
{
  bool Result = false;
  Action<bool> Callback = (o) => Result = o;
  Messenger.Default.Send(new AppMessage<T, bool>(type, Callback, arg));
  return Result;
}

但是,在接收端,我不确定如何为所有Register调用T。我可以Register获取特定类型的消息,例如:

Messenger.Default.Register<AppMessage<string, bool>>(this, OpenDialog);

但仅适用于此特定类型的参数。我如何注册各种论点?

N.B。有一个类似的问题被问到here,没有好的答案。

0 个答案:

没有答案