예제 #1
0
        public void unregisterHandler(string opname, standardEventHandler eventHandler)
        {
            if (null == eventHandler)
            {
                return;
            }

            List <standardEventHandler> listHandler = null;

            if (_dicEventHandlers.ContainsKey(opname))
            {
                listHandler = _dicEventHandlers[opname];
            }

            if (null == listHandler)
            {
                return;
            }

            listHandler = new List <standardEventHandler>();
            listHandler.Remove(eventHandler);
        }
예제 #2
0
 public void postNotification(string opname, object sender, NotifyEventArgs e)
 {
     if (_dicEventHandlers.ContainsKey(opname))
     {
         List <standardEventHandler> listHandler = _dicEventHandlers[opname];
         // notification실행 도중 unregister호출하는 경우에 대비하기 위해 foreach --> for 수정(예: GraphicHTMLTextBox);
         int cnt = listHandler.Count;
         for (int i = cnt - 1; i >= 0; i--)
         {
             standardEventHandler handler = listHandler[i];
             try
             {
                 handler(sender, e);
             }
             catch (Exception ex)
             {
                 string st = "event save exception : " + ex.ToString();
                 Console.WriteLine(st);
                 Console.WriteLine(ex);
             }
         }
     }
 }
예제 #3
0
        public void registerHandler(string opname, standardEventHandler eventHandler)
        {
            if (null == eventHandler)
            {
                return;
            }

            List <standardEventHandler> listHandler = null;

            if (_dicEventHandlers.ContainsKey(opname))
            {
                listHandler = _dicEventHandlers[opname];
            }

            if (null == listHandler)
            {
                listHandler = new List <standardEventHandler>();
                _dicEventHandlers.Add(opname, listHandler);
            }
            if (!listHandler.Contains(eventHandler))
            {
                listHandler.Add(eventHandler);
            }
        }
예제 #4
0
 public void unregisterHandler <T>(standardEventHandler eventHandler)
 => registerHandler(typeof(T).Name, eventHandler);