为了账号安全,请及时绑定邮箱和手机立即绑定

具有通用参数的类型和动作的字典

具有通用参数的类型和动作的字典

C#
慕神8447489 2021-04-10 14:10:32
我正在尝试使用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 关注
  • 167 浏览

添加回答

举报

0/150
提交
取消
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号