public static ReadOnlyObservableCollection <T> Create <T, TKey>(ICollection <T> observed, Func <T, TKey> order, IComparer <TKey> comparer = null) { CheckArgs.NotNull(observed, "observed"); CheckArgs.NotNull(order, "order"); var filtered = new ObservableCollection <T>(); return(new FilteredCollection <T, T, TKey>(observed, filtered, x => true, order, comparer)); }
public static ReadOnlyObservableCollection <T> Create <T>(ICollection <T> observed, Func <T, bool> predicate) { CheckArgs.NotNull(observed, "observed"); CheckArgs.NotNull(predicate, "predicate"); var filtered = new ObservableCollection <T>(); return(new FilteredCollection <T, T, object>(observed, filtered, predicate, null, null)); }
public static ReadOnlyObservableCollection <TOut> Create <TIn, TOut, TKey>(ICollection <TIn> observed, Func <TIn, bool> predicate, Func <TOut, TKey> order, IComparer <TKey> comparer = null) where TOut : TIn { CheckArgs.NotNull(observed, "observed"); CheckArgs.NotNull(predicate, "predicate"); CheckArgs.NotNull(order, "order"); var filtered = new ObservableCollection <TOut>(); return(new FilteredCollection <TIn, TOut, TKey>(observed, filtered, predicate, order, comparer)); }