Merge pull request #29435 from protocolbuffers/tonyliaoss-csharp-cherrypick-3
Some checks failed
Tests / Apply Safe for Tests Label (push) Failing after 0s
Tests / Validate YAML (push) Has been skipped
Tests / Bazel (push) Has been skipped
Tests / C++ (push) Has been skipped
Tests / Java (push) Has been skipped
Tests / Python (push) Has been skipped
Tests / Ruby (push) Has been skipped
Tests / PHP (push) Has been skipped
Tests / PHP Extension (push) Has been skipped
Tests / C# (push) Has been skipped
Tests / Objective-C (push) Has been skipped
Tests / Rust (push) Has been skipped
Tests / μpb (push) Has been skipped
Tests / hpb (push) Has been skipped
Tests / Remove safety tag (push) Failing after 0s
Tests / Staleness (push) Has been cancelled
Tests / All Blocking Tests (push) Has been cancelled

Allow later enum aliases to overwrite in C# custom JSON enum mapping.
This commit is contained in:
Tony Liao 2026-08-25 21:35:18 -04:00 committed by GitHub
commit 9798e2b874
No known key found for this signature in database
GPG key ID: B5690EEEBB952194

View file

@ -774,8 +774,7 @@ namespace Google.Protobuf
{
var jsonOptions = value.GetOptions()?.GetExtension(
Pb.Enumvalue.JsonEnumvalueOptionsExtensions.Json);
if (jsonOptions != null && jsonOptions.HasString &&
!map.ContainsKey(jsonOptions.String))
if (jsonOptions != null && jsonOptions.HasString)
{
map[jsonOptions.String] = value;
}