Exemplo n.º 1
0
 /// <summary>
 /// 解绑事件
 /// </summary>
 /// <param name="handle"></param>
 public void Unhook(ValidEventHandler handle)
 {
     lock (_syncObject)
     {
         _handles.Remove(handle);
     }
 }
Exemplo n.º 2
0
 /// <summary>
 /// 挂载事件,事件一旦被挂载,会自动触发历史事件,这样就不会因为之前成员的上下线在新的界面中没有被捕获
 /// </summary>
 /// <param name="handle"></param>
 public void Hook(ValidEventHandler handle)
 {
     lock (_syncObject)
     {
         _handles.Add(handle); //将处理器收集起来
                               //根据已触发的事件参数,执行处理器的方法
         foreach (var arg in _args)
         {
             ActionPipeline.Default.Queue(() =>
             {
                 handle(this, arg);
             });
         }
     }
 }
Exemplo n.º 3
0
 public static void UnhookParticipantChanged(ValidEventHandler handle)
 {
     _participantTrigger.Unhook(handle);
 }