本文整理汇总了C#中ObservableDictionary.SuppressResetNotifications方法的典型用法代码示例。如果您正苦于以下问题:C# ObservableDictionary.SuppressResetNotifications方法的具体用法?C# ObservableDictionary.SuppressResetNotifications怎么用?C# ObservableDictionary.SuppressResetNotifications使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类ObservableDictionary
的用法示例。
在下文中一共展示了ObservableDictionary.SuppressResetNotifications方法的5个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。
示例1: IsTrackingResetsReturnsCorrectValue
public void IsTrackingResetsReturnsCorrectValue()
{
// given
using (var observableDictionary = new ObservableDictionary<int, string>())
{
// when
using (observableDictionary.SuppressResetNotifications())
{
observableDictionary.IsTrackingResets.Should().BeFalse();
}
observableDictionary.IsTrackingResets.Should().BeTrue();
}
}
示例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: SuppressResetNotificationsPreventsMultipleSuppressions
public void SuppressResetNotificationsPreventsMultipleSuppressions()
{
// given
using (var observableDictionary = new ObservableDictionary<int, string>())
{
// when
using (observableDictionary.SuppressResetNotifications())
{
Action action = () => { var secondSuppression = observableDictionary.SuppressResetNotifications(); };
action
.ShouldThrow<InvalidOperationException>()
.WithMessage("A Reset(s) Notification Suppression is currently already ongoing, multiple concurrent suppressions are not supported.");
}
}
}
示例4: SuppressResetNotificationsShouldThrowObjectDisposedExceptionAfterDictionaryDisposal
public void SuppressResetNotificationsShouldThrowObjectDisposedExceptionAfterDictionaryDisposal()
{
// given
var observableDictionary = new ObservableDictionary<int, string>();
observableDictionary.Dispose();
// when
Action action = () => { var suppression = observableDictionary.SuppressResetNotifications(); };
action
.ShouldThrow<ObjectDisposedException>()
.WithMessage($"Cannot access a disposed object.\r\nObject name: '{observableDictionary.GetType().Name}'.");
}
示例5: 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();
}
}
}