public void ClearOldItems() { if (OldItems != null) { OldItems.Clear(); } }
public override int GetHashCode() { unchecked { var hashCode = (int)Action; hashCode = (hashCode * 397) ^ (NewItems != null ? NewItems.GetHashCode() : 0); hashCode = (hashCode * 397) ^ (OldItems != null ? OldItems.GetHashCode() : 0); hashCode = (hashCode * 397) ^ NewStartingIndex; hashCode = (hashCode * 397) ^ OldStartingIndex; return(hashCode); } }
/// <summary> /// Tries to remove the item from old items /// </summary> /// <param name="index">The item index.</param> /// <param name="item">The item.</param> /// <returns><c>true</c> if removed, otherwise <c>false</c>.</returns> /// <remarks>This code is only need by <c>FastBindingList{T}</c>.</remarks> public bool TryRemoveItemFromOldItems(int index, T item) { if (Mode == SuspensionMode.None || Mode == SuspensionMode.Mixed) { var oldIdx = OldItems.LastIndexOf(item); if (oldIdx > -1 && OldItemIndices[oldIdx] == index) { OldItems.RemoveAt(oldIdx); OldItemIndices.RemoveAt(oldIdx); for (var i = 0; i < OldItemIndices.Count; i++) { if (OldItemIndices[i] >= index) { OldItemIndices[i]++; } } return(true); } } return(false); }
public override string ToString() { return(String.Format("{0}: +[{1}], -[{2}]", Action, NewItems.StringJoin(), OldItems.StringJoin())); }