From fcd88c6952c930d4d3e34f596b762f573dec6f37 Mon Sep 17 00:00:00 2001 From: "Darrin W. Cullop" Date: Tue, 20 Feb 2024 11:37:49 -0800 Subject: [PATCH 1/2] Move DynamicDataOptions to its own file and into the top-level namespace --- src/DynamicData/Binding/BindingOptions.cs | 12 ------------ src/DynamicData/Cache/ObservableCacheEx.cs | 1 + src/DynamicData/DynamicDataOptions.cs | 18 ++++++++++++++++++ src/DynamicData/List/ObservableListEx.cs | 2 +- 4 files changed, 20 insertions(+), 13 deletions(-) create mode 100644 src/DynamicData/DynamicDataOptions.cs diff --git a/src/DynamicData/Binding/BindingOptions.cs b/src/DynamicData/Binding/BindingOptions.cs index 75c78ad9c..46c103401 100644 --- a/src/DynamicData/Binding/BindingOptions.cs +++ b/src/DynamicData/Binding/BindingOptions.cs @@ -34,15 +34,3 @@ public record struct BindingOptions(int ResetThreshold, bool UseReplaceForUpdate /// The binding options. public static BindingOptions NeverFireReset(bool useReplaceForUpdates = DefaultResetOnFirstTimeLoad) => new(int.MaxValue, useReplaceForUpdates, false); } - -/// -/// System wide default values for binding operators. -/// -[System.Diagnostics.CodeAnalysis.SuppressMessage("StyleCop.CSharp.MaintainabilityRules", "SA1402:File may only contain a single type", Justification = "Related Files.")] -public static class DynamicDataOptions -{ - /// - /// Gets or sets the default values for all binding operations. - /// - public static BindingOptions Binding { get; set; } = new(BindingOptions.DefaultResetThreshold); -} diff --git a/src/DynamicData/Cache/ObservableCacheEx.cs b/src/DynamicData/Cache/ObservableCacheEx.cs index 78d07222e..9cbe8abb8 100644 --- a/src/DynamicData/Cache/ObservableCacheEx.cs +++ b/src/DynamicData/Cache/ObservableCacheEx.cs @@ -12,6 +12,7 @@ using System.Reactive.Disposables; using System.Reactive.Linq; using System.Runtime.CompilerServices; +using DynamicData; using DynamicData.Binding; using DynamicData.Cache; using DynamicData.Cache.Internal; diff --git a/src/DynamicData/DynamicDataOptions.cs b/src/DynamicData/DynamicDataOptions.cs new file mode 100644 index 000000000..3e23b5935 --- /dev/null +++ b/src/DynamicData/DynamicDataOptions.cs @@ -0,0 +1,18 @@ +// Copyright (c) 2011-2023 Roland Pheasant. All rights reserved. +// Roland Pheasant licenses this file to you under the MIT license. +// See the LICENSE file in the project root for full license information. + +using DynamicData.Binding; + +namespace DynamicData; + +/// +/// System wide options container. +/// +public static class DynamicDataOptions +{ + /// + /// Gets or sets the default values for all binding operations. + /// + public static BindingOptions Binding { get; set; } = new(BindingOptions.DefaultResetThreshold); +} diff --git a/src/DynamicData/List/ObservableListEx.cs b/src/DynamicData/List/ObservableListEx.cs index 6dd83671e..0863caff8 100644 --- a/src/DynamicData/List/ObservableListEx.cs +++ b/src/DynamicData/List/ObservableListEx.cs @@ -9,7 +9,7 @@ using System.Reactive.Concurrency; using System.Reactive.Disposables; using System.Reactive.Linq; - +using DynamicData; using DynamicData.Binding; using DynamicData.Cache.Internal; using DynamicData.Kernel; From ab1e4525ba27dc8ef84e7cc01c6e5dde157b11e7 Mon Sep 17 00:00:00 2001 From: "Darrin W. Cullop" Date: Tue, 20 Feb 2024 11:56:52 -0800 Subject: [PATCH 2/2] Update API spec --- ...iApprovalTests.DynamicDataTests.DotNet8_0.verified.txt | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/src/DynamicData.Tests/API/ApiApprovalTests.DynamicDataTests.DotNet8_0.verified.txt b/src/DynamicData.Tests/API/ApiApprovalTests.DynamicDataTests.DotNet8_0.verified.txt index 4a10fc3bc..d11a43656 100644 --- a/src/DynamicData.Tests/API/ApiApprovalTests.DynamicDataTests.DotNet8_0.verified.txt +++ b/src/DynamicData.Tests/API/ApiApprovalTests.DynamicDataTests.DotNet8_0.verified.txt @@ -348,10 +348,6 @@ namespace DynamicData.Binding public bool UseReplaceForUpdates { get; set; } public static DynamicData.Binding.BindingOptions NeverFireReset(bool useReplaceForUpdates = true) { } } - public static class DynamicDataOptions - { - public static DynamicData.Binding.BindingOptions Binding { get; set; } - } public interface IEvaluateAware { void Evaluate(); @@ -701,6 +697,10 @@ namespace DynamicData public static bool operator !=(in DynamicData.Change left, in DynamicData.Change right) { } public static bool operator ==(in DynamicData.Change left, in DynamicData.Change right) { } } + public static class DynamicDataOptions + { + public static DynamicData.Binding.BindingOptions Binding { get; set; } + } public static class EnumerableEx { public static System.IObservable> AsObservableChangeSet(this System.Collections.Generic.IEnumerable source, bool completable = false)