本文整理汇总了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();
}
示例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);
}