示例#1
0
        public void InsertItemsOriginalListsWithSupplier()
        {
            VirtualListBase <int, IntSupplier> list = new VirtualListBase <int, IntSupplier>(intSupplier => intSupplier.Ints);
            IntSupplier numbers1 = new IntSupplier(new List <int> {
                0, 1, 2, 3
            });
            IntSupplier numbers2 = new IntSupplier(new List <int> {
                5, 6, 7
            });
            IntSupplier numbers3 = new IntSupplier(new List <int> {
                9, 10, 12, 13, 14
            });

            list.AddSuppliers(numbers1, numbers2, numbers3);

            list.Add(15);
            list.Insert(4, 4);
            list.Insert(8, 8);
            list.Insert(11, 11);

            Assert.AreEqual(numbers2.Ints[0], 4);
            Assert.AreEqual(numbers3.Ints[0], 8);
            Assert.AreEqual(numbers3.Ints[3], 11);
            Assert.AreEqual(numbers3.Ints[7], 15);
        }
            private VirtualListBase <T> _list;            /*DEPRECATED*/

            public CacheImpl(Func <int, T[], int> loadCallback, int numCacheBlocks, int cacheBlockLength, VirtualListBase <T> list /*DEPRECATED*/)
            {
                _loadCallback         = loadCallback;
                _count                = UninitializedCount;
                NumCacheBlocks        = numCacheBlocks;
                NumItemsPerCacheBlock = cacheBlockLength;
                _cacheBlock           = new LinkedList <CacheBlock>();
                _list = list;                                /*DEPRECATED*/
            }
 public CachedDataRef(int index, VirtualListBase <T> list)
 {
     Index = index;
     List  = list;
 }
 public void Dispose()
 {
     _list = null;
 }
 public VirtualEnumerator(VirtualListBase <T> list)
 {
     _list    = list;
     _current = -1;
 }