我正在尝试使用MessagePack获得一个简单的消息传递服务。该服务应保留一个dictionary<type, Action<T>>,以便查找如何“处理”特定消息。基本上,我有: private Dictionary<Type, Action<IMessage>> subActions; public void Subscribe<TMessage>(Action<TMessage> action) where TMessage : IMessage { subActions.Add(typeof(TMessage), action); }我得到:Argument 2: cannot convert from 'System.Action<TMessage>' to 'System.Action<GameServer.Messages.IMessage>'如果不清楚的话;消息“到达”为byte[]包含“类型代码”。从“类型代码”我得到的Type,并且应该然后能够查找适当Action服用。该Action应,显然,以TMessage作为参数。关于为何编译器给我这个错误,我似乎不能得出合理的结论,尽管我怀疑它与Dictionary不在同一个上下文中有关TMessage。
2 回答
- 2 回答
- 0 关注
- 162 浏览
添加回答
举报
0/150
提交
取消