AMHandler.cs 527 B

12345678910111213141516171819202122232425
  1. using System;
  2. using Model;
  3. namespace Hotfix
  4. {
  5. public abstract class AMHandler<Message> : IMHandler where Message: MessageObject
  6. {
  7. protected abstract void Run(Session session, Message message);
  8. public void Handle(Session session, IMessage msg)
  9. {
  10. Message message = msg as Message;
  11. if (message == null)
  12. {
  13. Log.Error($"消息类型转换错误: {msg.GetType().Name} to {typeof(Message).Name}");
  14. }
  15. this.Run(session, message);
  16. }
  17. public Type GetMessageType()
  18. {
  19. return typeof(Message);
  20. }
  21. }
  22. }