本文整理汇总了C#中ObservableDictionary.Clear方法的典型用法代码示例。如果您正苦于以下问题:C# ObservableDictionary.Clear方法的具体用法?C# ObservableDictionary.Clear怎么用?C# ObservableDictionary.Clear使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类ObservableDictionary
的用法示例。
在下文中一共展示了ObservableDictionary.Clear方法的8个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。
示例1: ObservableDictionary_RaisesCollectionResetOnClear
public void ObservableDictionary_RaisesCollectionResetOnClear()
{
var dict = new ObservableDictionary<String, Int32>();
var reset = false;
dict.CollectionReset += (dictionary) =>
{
reset = true;
};
dict["Testing"] = 1234;
dict.Clear();
TheResultingValue(reset).ShouldBe(true);
}
示例2: ShouldBeEmptyAfterClear
public void ShouldBeEmptyAfterClear()
{
// given
var initialItems = new List<KeyValuePair<int, string>>()
{
new KeyValuePair<int, string>(1, "One"),
new KeyValuePair<int, string>(2, "Two")
};
using (var observableDictionary = new ObservableDictionary<int, string>(initialItems))
{
// when
observableDictionary.Clear();
// then
observableDictionary.IsEmpty.Should().BeTrue();
}
}
示例3: ClearNotifiesAsReset
public void ClearNotifiesAsReset()
{
// given
var initialList = new List<KeyValuePair<int, string>>()
{
new KeyValuePair<int, string>(1, "Some Value"),
new KeyValuePair<int, string>(2, "Some Other Value"),
new KeyValuePair<int, string>(3, "Some Totally Different Value"),
};
var scheduler = new TestScheduler();
var observer = scheduler.CreateObserver<IObservableDictionaryChange<int, string>>();
var resetsObserver = scheduler.CreateObserver<Unit>();
var observableCollectionChangesObserver = scheduler.CreateObserver<IObservableCollectionChange<KeyValuePair<int, string>>>();
using (var observableDictionary = new ObservableDictionary<int, string>(initialList, scheduler: scheduler))
{
// when
observableDictionary.ThresholdAmountWhenChangesAreNotifiedAsReset = int.MaxValue;
IDisposable dictionaryChangesSubscription = null;
IDisposable resetsSubscription = null;
IDisposable observableCollectionChangesSubscription = null;
try
{
dictionaryChangesSubscription = observableDictionary.DictionaryChanges.Subscribe(observer);
resetsSubscription = observableDictionary.Resets.Subscribe(resetsObserver);
observableCollectionChangesSubscription =
((INotifyObservableCollectionChanges<KeyValuePair<int, string>>)observableDictionary)
.CollectionChanges
.Subscribe(observableCollectionChangesObserver);
observableDictionary.Clear();
scheduler.AdvanceBy(3);
// then
observableDictionary.Count.Should().Be(0);
resetsObserver.Messages.Count.Should().Be(1);
observer.Messages.Count.Should().Be(1);
observableCollectionChangesObserver.Messages.Count.Should().Be(1);
observer.Messages.First().Value.Value.ChangeType.Should().Be(ObservableDictionaryChangeType.Reset);
observer.Messages.First().Value.Value.Key.Should().Be(default(int));
observer.Messages.First().Value.Value.Value.Should().Be(default(string));
observer.Messages.First().Value.Value.OldValue.Should().Be(default(string));
observer.Messages.First().Value.Value.ChangedPropertyName.Should().BeEmpty();
observableCollectionChangesObserver.Messages.First().Value.Value.ChangeType.Should().Be(ObservableCollectionChangeType.Reset);
observableCollectionChangesObserver.Messages.First().Value.Value.Item.Key.Should().Be(default(int));
observableCollectionChangesObserver.Messages.First().Value.Value.Item.Value.Should().Be(default(string));
}
finally
{
dictionaryChangesSubscription?.Dispose();
resetsSubscription?.Dispose();
observableCollectionChangesSubscription?.Dispose();
}
}
}
示例4: ClearDoesNotRaisesPropertyChangeEventForItemIndexerdAndCountIfDictionaryIsEmpty
public void ClearDoesNotRaisesPropertyChangeEventForItemIndexerdAndCountIfDictionaryIsEmpty()
{
// given
using (var observableDictionary = new ObservableDictionary<int, string>())
{
observableDictionary.MonitorEvents();
// when
observableDictionary.Clear();
// then
observableDictionary
.ShouldNotRaise(nameof(observableDictionary.PropertyChanged));
}
}
示例5: ClearRaisesPropertyChangeEventForItemIndexerdAndCount
public void ClearRaisesPropertyChangeEventForItemIndexerdAndCount()
{
// given
var items = new List<KeyValuePair<int, string>>()
{
new KeyValuePair<int, string>(1, "One"),
new KeyValuePair<int, string>(2, "Two"),
new KeyValuePair<int, string>(3, "Three"),
};
using (var observableDictionary = new ObservableDictionary<int, string>(items))
{
observableDictionary.MonitorEvents();
// when
observableDictionary.Clear();
// then
observableDictionary
.ShouldRaise(nameof(observableDictionary.PropertyChanged))
.WithSender(observableDictionary)
.WithArgs<PropertyChangedEventArgs>(args => args.PropertyName == "Item[]");
observableDictionary
.ShouldRaise(nameof(observableDictionary.PropertyChanged))
.WithSender(observableDictionary)
.WithArgs<PropertyChangedEventArgs>(args => args.PropertyName == nameof(observableDictionary.Count));
}
}
示例6: SynchronizeRegistryWith
public void SynchronizeRegistryWith(ObservableDictionary<uint, VirtualRegistryKey> keyList)
{
if (keyList == null)
throw new ArgumentNullException("keyList");
keyList.Clear();
var keys = _regDatabase.ReadAll();
foreach (var key in keys)
keyList.Add(key.Handle, key);
keyList.ItemAdded += Registry_ItemAdded;
keyList.ItemChanged += Registry_ItemChanged;
keyList.ItemRemoved += Registry_ItemRemoved;
}
示例7: ClearClearsDictionary
public void ClearClearsDictionary()
{
// given
var initialKvPs = new List<KeyValuePair<int, string>>()
{
new KeyValuePair<int, string>(1, "One"),
new KeyValuePair<int, string>(2, "Two")
};
using (var observableDictionary = new ObservableDictionary<int, string>(initialKvPs))
{
// when
observableDictionary.Clear();
// then
observableDictionary.Count.Should().Be(0);
}
}
示例8: ObservableDictionaryClearTest
public void ObservableDictionaryClearTest()
{
ObservableDictionary<GenericParameterHelper, GenericParameterHelper> target = new ObservableDictionary<GenericParameterHelper, GenericParameterHelper>();
target.Add(new GenericParameterHelper(1), new GenericParameterHelper(1));
target.Add(new GenericParameterHelper(2), new GenericParameterHelper(2));
target.CollectionChanged += delegate(object sender, NotifyCollectionChangedEventArgs e) {
Assert.AreEqual(NotifyCollectionChangedAction.Reset, e.Action);
};
target.Clear();
Assert.AreEqual(0, target.Count);
}