-
Notifications
You must be signed in to change notification settings - Fork 4.8k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Add Range Manipulation APIs to Collection<T> and ObservableCollection<T> #104663
Closed
Conversation
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
…bservableCollection<T> (dotnet/corefx#35772)" (dotnet/corefx#38115)" This reverts commit 18c2fa1. Manual edits: * Moved CollectionTests.netcoreapp.cs to separate folder * Resolved confict in Tests.csproj Co-Authored-By: Andrew Hoefling <andrew@hoeflingsoftware.com>
This reverts commit e059596.
* Fix calls to throwhelpers that have been renamed * Remove // TODO-NULLABLE: * Updates to project files
…omes easier to add a more compatible "Reset" based approach
* Rename test files (replace .netcoreapp with something more suiteable) * CollectionTests: Remove redundat Assert.NotNull(collection) since collection is created with new * ObservableCollectionTests * Rewrite tests for batch changes so they 1. verify events args Action and Index 2. use InlineData to tests both with "batch notification" and without (reset)
Note regarding the
|
Note regarding the
|
dotnet-policy-service
bot
added
the
community-contribution
Indicates that the PR has been added by a community member
label
Jul 10, 2024
Thanks for taking the time to post this PR however,
With that said, I'm going to close this PR. If you wish we can try re-evaluating your implementation once .NET 10 development begins in earnest this fall. Thank you for your understanding. cc @terrajobst |
This was referenced Jul 10, 2024
Open
Sign up for free
to subscribe to this conversation on GitHub.
Already have an account?
Sign in.
Labels
area-System.Collections
community-contribution
Indicates that the PR has been added by a community member
new-api-needs-documentation
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Summary
This adds back the old solution originally merged for .NET Core 3.0 but later reverted since it did not work togheter with WPF.
This PR does the following
a; Using Reset means "The contents of the collection changed dramatically." and is the current best way to do larger changes with WPF with good UI responsiveness.
b; The Implementation and tests are prepared for adding an AppContext switch for opting into the original behaviour with "Batch notifications" where action is Add/Remove/Replace contain complete list if items being added/removed.
The tests have been run locally with both variants ("Reset" and "Range Add")
Commit overview
(See commit message for first commit for manual changed needed due to merge conflicts)
RaiseBatchCollectionChangedEvents
property to do Reset)Goals
Non goals
Fix #18087