public static IDisposable Follow <T>(this ICollection <T> collection, INotifyCollectionChanged followCollection) { CompositeDisposable disposable = new CompositeDisposable(); disposable.Add(followCollection.AddedItems <T>().Subscribe(i => collection.Add(i))); disposable.Add(followCollection.RemovedItems <T>().Subscribe(i => collection.Remove(i))); disposable.Add(followCollection.Cleared().Subscribe(i => collection.Clear())); return(disposable); }
public IDisposable Follow <R>(INotifyCollectionChanged collection, Func <R, C> convert) { return(Follow <R>(collection.AddedItems <R>(), collection.RemovedItems <R>(), convert)); }