当前位置: 首页>>代码示例>>C#>>正文


C# Storage.Add方法代码示例

本文整理汇总了C#中Storage.Add方法的典型用法代码示例。如果您正苦于以下问题:C# Storage.Add方法的具体用法?C# Storage.Add怎么用?C# Storage.Add使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在Storage的用法示例。


在下文中一共展示了Storage.Add方法的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。

示例1: should_sync_to_storage_change

        public async Task should_sync_to_storage_change()
        {
            var changes = new List<NotifyCollectionChangedEventArgs>();
            var storage = new Storage(x => new ObservableStorage<TestStorageObject>(new MemoryStorage<TestStorageObject>()));
            var collection = new StorageCollection<TestStorageObject>(storage, "0", "6");

            collection.CollectionChanged += (sender, e) => { lock (changes) { changes.Add(e); } };
            await collection.LoadMoreItemsAsync(10);

            await Task.Delay(20);
            Assert.Equal(0, changes.Count);

            await Task.WhenAll(Enumerable.Range(5, 3).Select(x => storage.Add(new TestStorageObject(x))));
            await Task.Delay(20);

            Assert.Equal(1, changes.Count);
            Assert.Equal(1, collection.Count);
            changes.Clear();

            await Task.WhenAll(Enumerable.Range(0, 8).Select(x => storage.Put(new TestStorageObject(x))));

            await Task.Delay(20);
            Assert.Equal(6, changes.Count);
            Assert.Equal(6, collection.Count);
            changes.Clear();

            await Task.WhenAll(Enumerable.Range(4, 4).Select(x => storage.Put(new TestStorageObject(x))));

            await Task.Delay(20);
            Assert.Equal(2, changes.Count);
            Assert.Equal(6, collection.Count);
            changes.Clear();

            await Task.WhenAll(Enumerable.Range(2, 6).Select(x => storage.Delete<TestStorageObject>(x.ToString())));

            await Task.Delay(20);
            Assert.Equal(4, changes.Count);
            Assert.Equal(2, collection.Count);
            changes.Clear();
        }
开发者ID:freemsly,项目名称:Nine.Storage,代码行数:40,代码来源:StorageCollectionTest.cs

示例2: should_be_unsubscribed_after_gc

        public async Task should_be_unsubscribed_after_gc()
        {
            var changes = new List<NotifyCollectionChangedEventArgs>();
            var storage = new Storage(x => new ObservableStorage<TestStorageObject>(new MemoryStorage<TestStorageObject>()));
            var collection = new StorageCollection<TestStorageObject>(storage, "0", "6").WithAllItems();
            var handler = new NotifyCollectionChangedEventHandler((sender, e) => { changes.Add(e); });

            collection.CollectionChanged += handler;

            await storage.Add(new TestStorageObject(0));
            await Task.Delay(20);
            Assert.Equal(1, changes.Count);

            GC.Collect();
            GC.WaitForPendingFinalizers();

            await storage.Add(new TestStorageObject(1));
            await Task.Delay(20);
            Assert.Equal(2, changes.Count);

            collection.CollectionChanged -= handler;
            collection = null;
            GC.Collect();
            GC.WaitForPendingFinalizers();

            await storage.Add(new TestStorageObject(3));
            await Task.Delay(20);
            Assert.Equal(2, changes.Count);
        }
开发者ID:freemsly,项目名称:Nine.Storage,代码行数:29,代码来源:StorageCollectionTest.cs


注:本文中的Storage.Add方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。