Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
15 changes: 12 additions & 3 deletions .github/workflows/ci-build.yml
Original file line number Diff line number Diff line change
Expand Up @@ -21,15 +21,24 @@ jobs:
fetch-depth: 0
lfs: true

- name: Setup .NET 6/7/8/9
uses: actions/setup-dotnet@v5
- name: Setup .NET (With cache)
uses: actions/setup-dotnet@v5.0.0
with:
dotnet-version: |
6.0.x
7.0.x
8.0.x
9.0.x

10.0.x
dotnet-quality: 'preview'
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

It looks like the indentation is off here, and is causing the build to fail. dotnet-quality, cache, and cache-dependency-path I should all be indented to the same level as dotnet-version.

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Don't need the dotnet-quality of preview now that .net 10 is out anwyay.

cache: true
cache-dependency-path: |
**/Directory.Packages.props
**/*.sln
**/*.csproj
**/global.json
**/nuget.config

- name: NBGV
id: nbgv
uses: dotnet/nbgv@master
Expand Down
13 changes: 11 additions & 2 deletions .github/workflows/release.yml
Original file line number Diff line number Diff line change
Expand Up @@ -22,14 +22,23 @@ jobs:
with:
fetch-depth: 0

- name: Setup .NET 6/7/8/9
uses: actions/setup-dotnet@v5
- name: Setup .NET (With cache)
uses: actions/setup-dotnet@v5.0.0
with:
dotnet-version: |
6.0.x
7.0.x
8.0.x
9.0.x
10.0.x
dotnet-quality: 'preview'
cache: true
cache-dependency-path: |
**/Directory.Packages.props
**/*.sln
**/*.csproj
**/global.json
**/nuget.config

- name: NBGV
id: nbgv
Expand Down
8 changes: 4 additions & 4 deletions src/Directory.Build.props
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@
<Project>
<PropertyGroup>
<GenerateDocumentationFile>true</GenerateDocumentationFile>
<NoWarn>$(NoWarn);1591;1701;1702;1705;VSX1000</NoWarn>
<NoWarn>$(NoWarn);1591;1701;1702;1705;VSX1000;CA1510</NoWarn>
<Platform>AnyCPU</Platform>
<Nullable>enable</Nullable>
<LangVersion>latest</LangVersion>
Expand Down Expand Up @@ -60,14 +60,14 @@
</PropertyGroup>

<ItemGroup>
<PackageReference Include="Nerdbank.GitVersioning" Version="3.8.118" PrivateAssets="all" />
<PackageReference Include="Nerdbank.GitVersioning" Version="3.9.50" PrivateAssets="all" />
</ItemGroup>
<ItemGroup Condition="$(TargetFramework) == 'netstandard2.0'">
<PackageReference Include="Microsoft.Bcl.AsyncInterfaces" Version="9.0.5" />
<PackageReference Include="Microsoft.Bcl.AsyncInterfaces" Version="9.0.10" />
</ItemGroup>
<ItemGroup Condition="!$(IsTestProject) AND !$(IsBenchmarkProject)">
<PackageReference Include="stylecop.analyzers" Version="1.2.0-beta.556" PrivateAssets="all" />
<PackageReference Include="Roslynator.Analyzers" Version="4.13.1" PrivateAssets="All" />
<PackageReference Include="Roslynator.Analyzers" Version="4.14.1" PrivateAssets="All" />
</ItemGroup>
<ItemGroup Condition="!$(IsTestProject) AND !$(IsBenchmarkProject)">
<AdditionalFiles Include="$(MSBuildThisFileDirectory)stylecop.json" Link="stylecop.json" />
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -309,8 +309,6 @@ namespace DynamicData.Binding
protected virtual void OnPropertyChanged([System.Runtime.CompilerServices.CallerMemberName] string? propertyName = null) { }
protected virtual void SetAndRaise<T>(ref T backingField, T newValue, [System.Runtime.CompilerServices.CallerMemberName] string? propertyName = null) { }
protected virtual void SetAndRaise<T>(ref T backingField, T newValue, System.Collections.Generic.IEqualityComparer<T>? comparer, [System.Runtime.CompilerServices.CallerMemberName] string? propertyName = null) { }
[System.Obsolete("This never worked properly in the first place")]
public System.IDisposable SuspendNotifications(bool invokePropertyChangeEventWhenDisposed = true) { }
}
public class BindingListAdaptor<[System.Diagnostics.CodeAnalysis.DynamicallyAccessedMembers(System.Diagnostics.CodeAnalysis.DynamicallyAccessedMemberTypes.All)] T> : DynamicData.IChangeSetAdaptor<T>
where T : notnull
Expand Down Expand Up @@ -469,7 +467,7 @@ namespace DynamicData.Binding
public static bool operator !=(DynamicData.Binding.PropertyValue<TObject, TValue>? left, DynamicData.Binding.PropertyValue<TObject, TValue>? right) { }
public static bool operator ==(DynamicData.Binding.PropertyValue<TObject, TValue>? left, DynamicData.Binding.PropertyValue<TObject, TValue>? right) { }
}
public struct SortAndBindOptions : System.IEquatable<DynamicData.Binding.SortAndBindOptions>
public readonly struct SortAndBindOptions : System.IEquatable<DynamicData.Binding.SortAndBindOptions>
{
public SortAndBindOptions() { }
public int InitialCapacity { get; init; }
Expand Down Expand Up @@ -1344,10 +1342,6 @@ namespace DynamicData
public static System.IObservable<DynamicData.IChangeSet<TObject, TKey>> FilterOnObservable<TObject, TKey>(this System.IObservable<DynamicData.IChangeSet<TObject, TKey>> source, System.Func<TObject, TKey, System.IObservable<bool>> filterFactory, System.TimeSpan? buffer = default, System.Reactive.Concurrency.IScheduler? scheduler = null)
where TObject : notnull
where TKey : notnull { }
[System.Obsolete("Use AutoRefresh(), followed by Filter() instead")]
public static System.IObservable<DynamicData.IChangeSet<TObject, TKey>> FilterOnProperty<TObject, TKey, TProperty>(this System.IObservable<DynamicData.IChangeSet<TObject, TKey>> source, System.Linq.Expressions.Expression<System.Func<TObject, TProperty>> propertySelector, System.Func<TObject, bool> predicate, System.TimeSpan? propertyChangedThrottle = default, System.Reactive.Concurrency.IScheduler? scheduler = null)
where TObject : System.ComponentModel.INotifyPropertyChanged
where TKey : notnull { }
[System.Obsolete("This can cause unhandled exception issues so do not use")]
public static System.IObservable<T> FinallySafe<T>(this System.IObservable<T> source, System.Action finallyAction) { }
public static System.IObservable<DynamicData.Change<TObject, TKey>> Flatten<TObject, TKey>(this System.IObservable<DynamicData.IChangeSet<TObject, TKey>> source)
Expand Down
80 changes: 0 additions & 80 deletions src/DynamicData.Tests/Cache/FilterOnPropertyFixture.cs

This file was deleted.

2 changes: 1 addition & 1 deletion src/DynamicData.Tests/DynamicData.Tests.csproj
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,7 @@

<ItemGroup>
<PackageReference Include="Bogus" Version="35.*" />
<PackageReference Include="Microsoft.NET.Test.Sdk" Version="17.*" />
<PackageReference Include="Microsoft.NET.Test.Sdk" Version="18.*" />
<PackageReference Include="xunit" Version="$(XunitVersion)" />
<PackageReference Include="xunit.runner.console" Version="$(XunitVersion)" />
<PackageReference Include="xunit.runner.visualstudio" Version="3.*" />
Expand Down
2 changes: 1 addition & 1 deletion src/DynamicData/Aggregation/AggregateEnumerator.cs
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
// Copyright (c) 2011-2023 Roland Pheasant. All rights reserved.
// Copyright (c) 2011-2025 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.

Expand Down
2 changes: 1 addition & 1 deletion src/DynamicData/Aggregation/AggregateItem.cs
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
// Copyright (c) 2011-2023 Roland Pheasant. All rights reserved.
// Copyright (c) 2011-2025 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.

Expand Down
2 changes: 1 addition & 1 deletion src/DynamicData/Aggregation/AggregateType.cs
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
// Copyright (c) 2011-2023 Roland Pheasant. All rights reserved.
// Copyright (c) 2011-2025 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.

Expand Down
2 changes: 1 addition & 1 deletion src/DynamicData/Aggregation/AggregationEx.cs
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
// Copyright (c) 2011-2023 Roland Pheasant. All rights reserved.
// Copyright (c) 2011-2025 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.

Expand Down
2 changes: 1 addition & 1 deletion src/DynamicData/Aggregation/Avg.cs
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
// Copyright (c) 2011-2023 Roland Pheasant. All rights reserved.
// Copyright (c) 2011-2025 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.

Expand Down
2 changes: 1 addition & 1 deletion src/DynamicData/Aggregation/AvgEx.cs
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
// Copyright (c) 2011-2023 Roland Pheasant. All rights reserved.
// Copyright (c) 2011-2025 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.

Expand Down
2 changes: 1 addition & 1 deletion src/DynamicData/Aggregation/CountEx.cs
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
// Copyright (c) 2011-2023 Roland Pheasant. All rights reserved.
// Copyright (c) 2011-2025 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.

Expand Down
6 changes: 2 additions & 4 deletions src/DynamicData/Aggregation/IAggregateChangeSet.cs
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
// Copyright (c) 2011-2023 Roland Pheasant. All rights reserved.
// Copyright (c) 2011-2025 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.

Expand All @@ -8,6 +8,4 @@ namespace DynamicData.Aggregation;
/// A change set which has been shaped for rapid online aggregations.
/// </summary>
/// <typeparam name="T">The type of the item.</typeparam>
public interface IAggregateChangeSet<T> : IEnumerable<AggregateItem<T>>
{
}
public interface IAggregateChangeSet<T> : IEnumerable<AggregateItem<T>>;
2 changes: 1 addition & 1 deletion src/DynamicData/Aggregation/MaxEx.cs
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
// Copyright (c) 2011-2023 Roland Pheasant. All rights reserved.
// Copyright (c) 2011-2025 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.

Expand Down
2 changes: 1 addition & 1 deletion src/DynamicData/Aggregation/StdDev.cs
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
// Copyright (c) 2011-2023 Roland Pheasant. All rights reserved.
// Copyright (c) 2011-2025 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.

Expand Down
2 changes: 1 addition & 1 deletion src/DynamicData/Aggregation/StdDevEx.cs
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
// Copyright (c) 2011-2023 Roland Pheasant. All rights reserved.
// Copyright (c) 2011-2025 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.

Expand Down
2 changes: 1 addition & 1 deletion src/DynamicData/Aggregation/SumEx.cs
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
// Copyright (c) 2011-2023 Roland Pheasant. All rights reserved.
// Copyright (c) 2011-2025 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.

Expand Down
2 changes: 1 addition & 1 deletion src/DynamicData/Alias/ObservableCacheAlias.cs
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
// Copyright (c) 2011-2023 Roland Pheasant. All rights reserved.
// Copyright (c) 2011-2025 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.

Expand Down
2 changes: 1 addition & 1 deletion src/DynamicData/Alias/ObservableListAlias.cs
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
// Copyright (c) 2011-2023 Roland Pheasant. All rights reserved.
// Copyright (c) 2011-2025 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.

Expand Down
2 changes: 1 addition & 1 deletion src/DynamicData/Attributes.cs
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
// Copyright (c) 2011-2023 Roland Pheasant. All rights reserved.
// Copyright (c) 2011-2025 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.

Expand Down
12 changes: 1 addition & 11 deletions src/DynamicData/Binding/AbstractNotifyPropertyChanged.cs
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
// Copyright (c) 2011-2023 Roland Pheasant. All rights reserved.
// Copyright (c) 2011-2025 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.

Expand All @@ -19,16 +19,6 @@ public abstract class AbstractNotifyPropertyChanged : INotifyPropertyChanged
/// </summary>
public event PropertyChangedEventHandler? PropertyChanged;

/// <summary>
/// Suspends notifications. When disposed, a reset notification is fired.
/// </summary>
/// <param name="invokePropertyChangeEventWhenDisposed">If the property changed event should be invoked when disposed.</param>
/// <returns>A disposable to indicate to stop suspending the notifications.</returns>
[Obsolete("This never worked properly in the first place")]
[SuppressMessage("Design", "CA1822: Make static", Justification = "Backwards compatibility")]
public IDisposable SuspendNotifications(bool invokePropertyChangeEventWhenDisposed = true) =>
Disposable.Empty; // Removed code because it adds weight to the object

/// <summary>
/// Invokes on property changed.
/// </summary>
Expand Down
2 changes: 1 addition & 1 deletion src/DynamicData/Binding/BindPaged.cs
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
// Copyright (c) 2011-2023 Roland Pheasant. All rights reserved.
// Copyright (c) 2011-2025 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.

Expand Down
2 changes: 1 addition & 1 deletion src/DynamicData/Binding/BindVirtualized.cs
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
// Copyright (c) 2011-2023 Roland Pheasant. All rights reserved.
// Copyright (c) 2011-2025 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.

Expand Down
2 changes: 1 addition & 1 deletion src/DynamicData/Binding/BindingListAdaptor.cs
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
// Copyright (c) 2011-2023 Roland Pheasant. All rights reserved.
// Copyright (c) 2011-2025 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.

Expand Down
2 changes: 1 addition & 1 deletion src/DynamicData/Binding/BindingListEventsSuspender.cs
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
// Copyright (c) 2011-2023 Roland Pheasant. All rights reserved.
// Copyright (c) 2011-2025 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.

Expand Down
2 changes: 1 addition & 1 deletion src/DynamicData/Binding/BindingListEx.cs
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
// Copyright (c) 2011-2023 Roland Pheasant. All rights reserved.
// Copyright (c) 2011-2025 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.

Expand Down
2 changes: 1 addition & 1 deletion src/DynamicData/Binding/BindingOptions.cs
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
// Copyright (c) 2011-2023 Roland Pheasant. All rights reserved.
// Copyright (c) 2011-2025 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.

Expand Down
2 changes: 1 addition & 1 deletion src/DynamicData/Binding/ExpressionBuilder.cs
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
// Copyright (c) 2011-2023 Roland Pheasant. All rights reserved.
// Copyright (c) 2011-2025 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.

Expand Down
2 changes: 1 addition & 1 deletion src/DynamicData/Binding/IEvaluateAware.cs
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
// Copyright (c) 2011-2023 Roland Pheasant. All rights reserved.
// Copyright (c) 2011-2025 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.

Expand Down
2 changes: 1 addition & 1 deletion src/DynamicData/Binding/IIndexAware.cs
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
// Copyright (c) 2011-2023 Roland Pheasant. All rights reserved.
// Copyright (c) 2011-2025 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.

Expand Down
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
// Copyright (c) 2011-2023 Roland Pheasant. All rights reserved.
// Copyright (c) 2011-2025 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.

Expand Down
2 changes: 1 addition & 1 deletion src/DynamicData/Binding/IObservableCollection.cs
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
// Copyright (c) 2011-2023 Roland Pheasant. All rights reserved.
// Copyright (c) 2011-2025 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.

Expand Down
2 changes: 1 addition & 1 deletion src/DynamicData/Binding/IObservableCollectionAdaptor.cs
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
// Copyright (c) 2011-2023 Roland Pheasant. All rights reserved.
// Copyright (c) 2011-2025 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.

Expand Down
Loading
Loading