Пример #1
0
 /// <summary>
 /// 移除事件处理器。
 /// </summary>
 /// <param name="route">事件路由。</param>
 /// <param name="handler">事件处理器。</param>
 public virtual void RemoveAsyncEventHandler(DomainServiceEventRoute route, DomainServiceAsyncEventHandler handler)
 {
     if (route == null)
     {
         throw new ArgumentNullException(nameof(route));
     }
     if (handler == null)
     {
         throw new ArgumentNullException(nameof(handler));
     }
     if (route.HandlerType != typeof(DomainServiceAsyncEventHandler))
     {
         throw new InvalidCastException("事件路由处理器类型与传入的类型不符。");
     }
     lock (_Events)
     {
         Delegate d = GetEventRouteDelegate(route);
         if (d == null)
         {
             SetEventRouteDelegate(route, handler);
         }
         else
         {
             SetEventRouteDelegate(route, Delegate.Remove(d, handler));
         }
     }
 }
Пример #2
0
 /// <summary>
 /// 移除事件处理器。
 /// </summary>
 /// <param name="route">事件路由。</param>
 /// <param name="handler">事件处理器。</param>
 protected virtual void RemoveAsyncEventHandler <T>(DomainServiceEventRoute route, DomainServiceAsyncEventHandler <T> handler)
     where T : EventArgs
 {
     DomainServiceEventManager.GlobalEventManager.RemoveAsyncEventHandler(route, handler);
 }
Пример #3
0
 /// <summary>
 /// 移除事件处理器。
 /// </summary>
 /// <param name="route">事件路由。</param>
 /// <param name="handler">事件处理器。</param>
 protected virtual void RemoveAsyncEventHandler(DomainServiceEventRoute route, DomainServiceAsyncEventHandler handler)
 {
     DomainServiceEventManager.GlobalEventManager.RemoveAsyncEventHandler(route, handler);
 }