Пример #1
0
        private static INotifyCollectionChanged getSource(
            INotifyCollectionChanged source,
            int startIndex,
            int count)
        {
            Zipping <int, TSourceItem> zipping = new Computing <int>(() => ((IList)source).Count).SequenceComputing()
                                                 .Zipping <int, TSourceItem>(source);

            return(zipping.Filtering(zp => zp.LeftItem >= startIndex && zp.LeftItem < startIndex + count, count));
        }
Пример #2
0
        private static INotifyCollectionChanged getSource(
            INotifyCollectionChanged source,
            IReadScalar <int> startIndexScalar,
            IReadScalar <int> countScalar,
            int capacity)
        {
            Zipping <int, TSourceItem> zipping = new Computing <int>(() => ((IList)source).Count).SequenceComputing()
                                                 .Zipping <int, TSourceItem>(source);

            return(zipping.Filtering(zp => zp.LeftItem >= startIndexScalar.Value && zp.LeftItem < startIndexScalar.Value + countScalar.Value, capacity));
        }
Пример #3
0
        private static INotifyCollectionChanged getSource(
            IReadScalar <INotifyCollectionChanged> sourceScalar,
            int startIndex,
            int count)
        {
            Zipping <int, TSourceItem> zipping =
                new Computing <int>(() => sourceScalar.Value != null ? ((IList)sourceScalar.Value).Count : 0)
                .SequenceComputing()
                .Zipping <int, TSourceItem>(sourceScalar);

            return(zipping.Filtering(zp => zp.LeftItem >= startIndex && zp.LeftItem < startIndex + count, count));
        }