[release/9.0-staging] Fix regression in constructor parameter binding logic. by github-actions[bot] · Pull Request #109813 · dotnet/runtime (original) (raw)
Backport of #109786 to release/9.0-staging
/cc @eiriktsarpalis
Customer Impact
- Customer reported
- Found internally
This was reported by a customer in #109768, reporting incorrect behavior when trying to deserialize JSON where there are two properties that differ in casing (e.g. [JsonPropertyName("a")] and [JsonPropertyName("A")]).
Regression
- Yes
- No
A refactoring introduced in 455f540 regressed the way in which conflicting parameters are being resolved. This reinstates the original logic.
Testing
Added unit testing covering the regressed case.
Risk
Low. Targeted change reinstating logic that got accidentally removed in .NET 9.