ReactiveHistory by Wiesław Šoltés

<PackageReference Include="ReactiveHistory" Version="0.9.0-preview1" />

 IListExtensions

public static class IListExtensions
Stack history extension methods for the generic list implementations.
public static void AddWithHistory<T>(this IList<T> source, T item, IHistory history)

Adds item to the source list with history.

public static void ClearWithHistory<T>(this IList<T> source, IHistory history)

Removes all items from the source list with history.

public static void InsertWithHistory<T>(this IList<T> source, int index, T item, IHistory history)

Inserts item to the source list with history.

public static void RemoveWithHistory<T>(this IList<T> source, T item, IHistory history)

Removes item at specified index from the source list with history.

public static void RemoveWithHistory<T>(this IList<T> source, int index, IHistory history)

Removes item from the source list with history.

public static void ReplaceWithHistory<T>(this IList<T> source, int index, T item, IHistory history)

Replaces item at specified index in the source list with history.