Exemplo n.º 1
0
        /// <summary>
        /// Adds an <see cref="IItemEventHandler"/> to the ItemEventHandlerList
        /// </summary>
        public static ItemEventHandlerList operator+(ItemEventHandlerList list, IItemEventHandler h)
        {
            ItemEventHandlerList r = new ItemEventHandlerList();

            r.Handlers.AddRange(list.Handlers);
            r.Handlers.Add(new WeakReference <IItemEventHandler>(h));
            return(r);
        }
Exemplo n.º 2
0
        /// <summary>
        /// Removes an <see cref="IItemEventHandler"/> from the ItemEventHandlerList
        /// </summary>
        public static ItemEventHandlerList operator-(ItemEventHandlerList list, IItemEventHandler h)
        {
            ItemEventHandlerList r = new ItemEventHandlerList();

            foreach (WeakReference <IItemEventHandler> wr in list.Handlers)
            {
                if (wr.Target != h)
                {
                    r.Handlers.Add(wr);
                }
            }
            return(r);
        }