本文整理汇总了C#中ObservableDictionary.Reset方法的典型用法代码示例。如果您正苦于以下问题:C# ObservableDictionary.Reset方法的具体用法?C# ObservableDictionary.Reset怎么用?C# ObservableDictionary.Reset使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类ObservableDictionary
的用法示例。
在下文中一共展示了ObservableDictionary.Reset方法的5个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。
示例1: ResetRaisesPropertyChangeEventForItemIndexerdAndCount
public void ResetRaisesPropertyChangeEventForItemIndexerdAndCount()
{
// given
using (var observableDictionary = new ObservableDictionary<int, string>())
{
observableDictionary.MonitorEvents();
// when
observableDictionary.Reset();
// 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));
}
}
示例2: SuppressResetNotificationsSuppressesResetNotifications
public void SuppressResetNotificationsSuppressesResetNotifications()
{
// given
var scheduler = new TestScheduler();
var observer = scheduler.CreateObserver<IObservableDictionaryChange<int, string>>();
var resetsObserver = scheduler.CreateObserver<Unit>();
using (var observableDictionary = new ObservableDictionary<int, string>(scheduler: scheduler))
{
// when
observableDictionary.ThresholdAmountWhenChangesAreNotifiedAsReset = int.MaxValue;
IDisposable dictionaryChangesSubscription = null;
IDisposable resetsSubscription = null;
try
{
dictionaryChangesSubscription = observableDictionary.DictionaryChanges.Subscribe(observer);
resetsSubscription = observableDictionary.Resets.Subscribe(resetsObserver);
using (observableDictionary.SuppressResetNotifications(false))
{
observableDictionary.Reset();
scheduler.AdvanceBy(2);
}
scheduler.AdvanceBy(2);
// then
observer.Messages.Should().BeEmpty();
resetsObserver.Messages.Should().BeEmpty();
}
finally
{
dictionaryChangesSubscription?.Dispose();
resetsSubscription?.Dispose();
}
}
}
示例3: ResetNotifiesAsReset
public void ResetNotifiesAsReset()
{
// given
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>(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.Reset();
scheduler.AdvanceBy(3);
// then
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: SuppressResetNotificationsNotifiesResetWhenSuppressionIsDisposedIfRequested
public void SuppressResetNotificationsNotifiesResetWhenSuppressionIsDisposedIfRequested()
{
// given
var scheduler = new TestScheduler();
var observer = scheduler.CreateObserver<IObservableDictionaryChange<int, string>>();
var resetsObserver = scheduler.CreateObserver<Unit>();
using (var observableDictionary = new ObservableDictionary<int, string>(scheduler: scheduler))
{
// when
observableDictionary.ThresholdAmountWhenChangesAreNotifiedAsReset = int.MaxValue;
IDisposable dictionaryChangesSubscription = null;
IDisposable resetsSubscription = null;
try
{
dictionaryChangesSubscription = observableDictionary.DictionaryChanges.Subscribe(observer);
resetsSubscription = observableDictionary.Resets.Subscribe(resetsObserver);
using (observableDictionary.SuppressResetNotifications(true))
{
observableDictionary.Reset();
observableDictionary.Reset();
observableDictionary.Reset();
scheduler.AdvanceBy(6);
}
scheduler.AdvanceBy(2);
// then
resetsObserver.Messages.Count.Should().Be(1);
observer.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();
}
finally
{
dictionaryChangesSubscription?.Dispose();
resetsSubscription?.Dispose();
}
}
}
示例5: ResetDoesNotModifyDictionary
public void ResetDoesNotModifyDictionary()
{
// 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.Reset();
// then
observableDictionary.Count.Should().Be(2);
observableDictionary.Should().Contain(1, "One");
observableDictionary.Should().Contain(2, "Two");
}
}