예제 #1
0
 public FilteredEnumerator(IndexedEnumerable indexedEnumerable, IEnumerable enumerable, Predicate <object> filterCallback)
 {
     _enumerable        = enumerable;
     _enumerator        = _enumerable.GetEnumerator();
     _filterCallback    = filterCallback;
     _indexedEnumerable = indexedEnumerable;
 }
예제 #2
0
        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;
        }