Пример #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);
 }
Пример #2
0
 public void Add(T item)
 {
     if (!mySet.Add(item))
     {
         return;
     }
     myChange.Fire(SetEvent <T> .Add(item));
 }
Пример #3
0
        public bool Remove(T item)
        {
            if (!mySet.Remove(item))
            {
                return(false);
            }

            myChange.Fire(SetEvent <T> .Remove(item));
            return(true);
        }
Пример #4
0
        public void Clear()
        {
            var changes = mySet.ToArray();

            mySet.Clear();

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