本文整理汇总了C#中ObservableDictionary.SuppressCountChangeNotifications方法的典型用法代码示例。如果您正苦于以下问题:C# ObservableDictionary.SuppressCountChangeNotifications方法的具体用法?C# ObservableDictionary.SuppressCountChangeNotifications怎么用?C# ObservableDictionary.SuppressCountChangeNotifications使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类ObservableDictionary
的用法示例。
在下文中一共展示了ObservableDictionary.SuppressCountChangeNotifications方法的4个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。
示例1: IsTrackingCountChangesReturnsCorrectValue
public void IsTrackingCountChangesReturnsCorrectValue()
{
// given
using (var observableDictionary = new ObservableDictionary<int, string>())
{
// when
using (observableDictionary.SuppressCountChangeNotifications())
{
observableDictionary.IsTrackingCountChanges.Should().BeFalse();
}
observableDictionary.IsTrackingCountChanges.Should().BeTrue();
}
}
示例2: SuppressCountChangedNotificationsShouldThrowObjectDisposedExceptionAfterDictionaryDisposal
public void SuppressCountChangedNotificationsShouldThrowObjectDisposedExceptionAfterDictionaryDisposal()
{
// given
var observableDictionary = new ObservableDictionary<int, string>();
observableDictionary.Dispose();
// when
Action action = () => { var suppression = observableDictionary.SuppressCountChangeNotifications(); };
action
.ShouldThrow<ObjectDisposedException>()
.WithMessage($"Cannot access a disposed object.\r\nObject name: '{observableDictionary.GetType().Name}'.");
}
示例3: SuppressCountChangedNotificationsSuppressesCountChangedNotifications
public void SuppressCountChangedNotificationsSuppressesCountChangedNotifications()
{
// given
var scheduler = new TestScheduler();
var countChangesObserver = scheduler.CreateObserver<int>();
using (var observableDictionary = new ObservableDictionary<int, string>(scheduler: scheduler))
{
// when
observableDictionary.ThresholdAmountWhenChangesAreNotifiedAsReset = int.MaxValue;
IDisposable countChangesSubscription = null;
try
{
countChangesSubscription = observableDictionary.CountChanges.Subscribe(countChangesObserver);
using (observableDictionary.SuppressCountChangeNotifications(false))
{
observableDictionary.Add(1, "One");
observableDictionary.Add(2, "Two");
observableDictionary.Remove(1);
observableDictionary.Remove(2);
scheduler.AdvanceBy(4);
}
scheduler.AdvanceBy(1);
// then
countChangesObserver.Messages.Should().BeEmpty();
}
finally
{
countChangesSubscription?.Dispose();
}
}
}
示例4: SuppressCountChangedNotificationsPreventsMultipleSuppressions
public void SuppressCountChangedNotificationsPreventsMultipleSuppressions()
{
// given
using (var observableDictionary = new ObservableDictionary<int, string>())
{
// when
using (observableDictionary.SuppressCountChangeNotifications())
{
Action action = () => { var secondSuppression = observableDictionary.SuppressCountChangeNotifications(); };
action
.ShouldThrow<InvalidOperationException>()
.WithMessage("A Count Change(s) Notification Suppression is currently already ongoing, multiple concurrent suppressions are not supported.");
}
}
}