Example #1
0
 private void AttachDelegates(List <TableContainer> containers)
 {
     foreach (TableContainer container in containers)
     {
         TableContainer.ActivateDelegate handler = delegate(TableContainer activated)
         {
             Monitor.Enter(activeContainers);
             if (!activeContainers.ContainsKey(activated))
             {
                 activeContainers.Add(activated, DateTime.Now);
                 if (ContainersChangedEvent != null)
                 {
                     ContainersChangedEvent(AvticeTables);
                 }
             }
             else
             {
                 activeContainers[activated] = DateTime.Now;
             }
             Monitor.Exit(activeContainers);
         };
         attachedDelegates.Add(container, handler);
         container.Activated += handler;
     }
 }
Example #2
0
 private void DetachDelegates()
 {
     foreach (TableContainer container in attachedDelegates.Keys)
     {
         TableContainer.ActivateDelegate handler = attachedDelegates[container];
         container.Activated -= handler;
     }
     attachedDelegates.Clear();
 }