internal void Unsubscribe <TBusHanlder, TPackMessage, TMessage>(TBusHanlder handler, string name = "default") where TPackMessage : MessagePack { if (handler == null) { return; } Type type = typeof(TMessage); if (!Containers.TryGetValue(type, out object val)) { return; } IMessageTypeHandler <TBusHanlder, TPackMessage, TMessage> typeHandler = val as IMessageTypeHandler <TBusHanlder, TPackMessage, TMessage>; if (typeHandler == null) { throw new InvalidOperationException($"Not found handler for {type}:{name}"); } typeHandler.Remove(handler, name); }