Esempio n. 1
0
 public void Advise(Lifetime lifetime, Action <SetEvent <T> > handler)
 {
     foreach (var elt in mySet)
     {
         handler(SetEvent <T> .Add(elt));
     }
     myChange.Advise(lifetime, handler);
 }
Esempio n. 2
0
 public void Add(T item)
 {
     if (!mySet.Add(item))
     {
         return;
     }
     myChange.Fire(SetEvent <T> .Add(item));
 }
Esempio n. 3
0
        public bool Remove(T item)
        {
            if (!mySet.Remove(item))
            {
                return(false);
            }

            myChange.Fire(SetEvent <T> .Remove(item));
            return(true);
        }
Esempio n. 4
0
        public void Clear()
        {
            var changes = mySet.ToArray();

            mySet.Clear();

            foreach (var change in changes)
            {
                myChange.Fire(SetEvent <T> .Remove(change));
            }
        }