public FilteredEnumerator(IndexedEnumerable indexedEnumerable, IEnumerable enumerable, Predicate <object> filterCallback) { _enumerable = enumerable; _enumerator = _enumerable.GetEnumerator(); _filterCallback = filterCallback; _indexedEnumerable = indexedEnumerable; }
public MixedItemSourceCollection(ItemCollectionBase <TItem> itemCollection, IEnumerable sourceCollection, int itemCollectionSplitIndex) { IndexedSourceCollection = new IndexedEnumerable(sourceCollection); SourceCollection = sourceCollection; ItemCollectionSplitIndex = itemCollectionSplitIndex >= 0 ? itemCollectionSplitIndex.Clamp(0, itemCollection.Count) : itemCollection.Count; ItemCollection = itemCollection; if (SourceCollection is INotifyCollectionChanged incc) { incc.CollectionChanged += OnSourceCollectionChanged; } ((INotifyCollectionChanged)itemCollection).CollectionChanged += OnItemCollectionChanged; }