public void Advise(Lifetime lifetime, Action <SetEvent <T> > handler) { foreach (var elt in mySet) { handler(SetEvent <T> .Add(elt)); } myChange.Advise(lifetime, handler); }
public void Add(T item) { if (!mySet.Add(item)) { return; } myChange.Fire(SetEvent <T> .Add(item)); }
public bool Remove(T item) { if (!mySet.Remove(item)) { return(false); } myChange.Fire(SetEvent <T> .Remove(item)); return(true); }
public void Clear() { var changes = mySet.ToArray(); mySet.Clear(); foreach (var change in changes) { myChange.Fire(SetEvent <T> .Remove(change)); } }