当前位置: 首页>>代码示例>>C#>>正文


C# ObservableDictionary.Clear方法代码示例

本文整理汇总了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);
        }
开发者ID:RUSshy,项目名称:ultraviolet,代码行数:14,代码来源:ObservableDictionaryTest.cs

示例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();
            }
        }
开发者ID:jbattermann,项目名称:JB.Common,代码行数:17,代码来源:ObservableListInitializationTests.cs

示例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();
                }
            }
        }
开发者ID:jbattermann,项目名称:JB.Common,代码行数:62,代码来源:ObservableDictionaryNotificationTests.cs

示例4: ClearDoesNotRaisesPropertyChangeEventForItemIndexerdAndCountIfDictionaryIsEmpty

        public void ClearDoesNotRaisesPropertyChangeEventForItemIndexerdAndCountIfDictionaryIsEmpty()
        {
            // given
            using (var observableDictionary = new ObservableDictionary<int, string>())
            {
                observableDictionary.MonitorEvents();

                // when
                observableDictionary.Clear();

                // then
                observableDictionary
                    .ShouldNotRaise(nameof(observableDictionary.PropertyChanged));
            }
        }
开发者ID:jbattermann,项目名称:JB.Common,代码行数:15,代码来源:ObservableDictionaryNotificationTests.cs

示例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));
            }
        }
开发者ID:jbattermann,项目名称:JB.Common,代码行数:29,代码来源:ObservableDictionaryNotificationTests.cs

示例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;
 }
开发者ID:rnpowerconsulting,项目名称:appstract,代码行数:12,代码来源:SynchronizationBus.cs

示例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);
            }
        }
开发者ID:jbattermann,项目名称:JB.Common,代码行数:18,代码来源:ObservableDictionaryModificationTests.cs

示例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);
        }
开发者ID:EternalPlay,项目名称:ReusableCore,代码行数:13,代码来源:ObservableDictionaryTest.cs


注:本文中的ObservableDictionary.Clear方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。