Exemplo n.º 1
0
 // 拆除消息(命令或事件)的运动路径
 public static void UnPath(IDelegateHandler handler)
 {
     if (handler == null)
     {
         return;
     }
     SMessageDispatcher.UnRegister(handler);
 }
Exemplo n.º 2
0
 public void UnRegister(IDelegateHandler handler)
 {
     if (handler == null)
     {
         return;
     }
     lock (_locker) {
         var handlerId = handler.HandlerId;
         _paths.Remove(handlerId.HandlerPath);
         var keyType = handlerId.MessageType;
         if (_handlers.ContainsKey(keyType) &&
             _handlers[keyType] != null &&
             _handlers[keyType].Count > 0 &&
             _handlers[keyType].Contains(handler))
         {
             _handlers[keyType].Remove(handler);
         }
     }
 }