public void Remove(T item) { if (item != null && !_valuesToRemove.Contains(item)) { if (_valuesToAdd.Contains(item)) { _valuesToAdd.Remove(item); } else if (_values.Contains(item)) { _valuesToRemove.Add(item); } } }
public void Commit() { foreach (T item in _valuesToAdd) { _values.Add(item); } _valuesToAdd.Clear(); foreach (T item in _valuesToRemove) { _values.Remove(item); } _valuesToRemove.Clear(); }