Skip to content

SystemTextSerializer: Fixes serialization type in ToStream method#5517

Merged
kirankumarkolli merged 7 commits into
Azure:masterfrom
jaliyaudagedara:patch-1
Dec 17, 2025
Merged

SystemTextSerializer: Fixes serialization type in ToStream method#5517
kirankumarkolli merged 7 commits into
Azure:masterfrom
jaliyaudagedara:patch-1

Conversation

@jaliyaudagedara
Copy link
Copy Markdown
Contributor

Description

Use typeof(T) instead of input.GetType() to preserve polymorphic serialization. When T is a base type with [JsonPolymorphic], this ensures the $type discriminator is included. Using input.GetType() would serialize as the concrete type, bypassing polymorphic attributes..

Type of change

Please delete options that are not relevant.

  • Bug fix (non-breaking change which fixes an issue)

Use `typeof(T)` instead of `input.GetType()` to preserve polymorphic serialization.
When T is a base type with `[JsonPolymorphic]`, this ensures the `$type` discriminator is included.
Using `input.GetType()` would serialize as the concrete type, bypassing polymorphic attributes.
…erializer

Added unit tests to verify polymorphic serialization behavior when using typeof(T) instead of input.GetType() in the ToStream method.

Tests validate that the $type discriminator is correctly included when serializing derived types through a base type parameter, which is required for proper polymorphic deserialization.
No need to have multiple derived types, testing one is enough.
@kirankumarkolli kirankumarkolli changed the title Fix serialization type in ToStream method SystemTextSerializer: Fixes serialization type in ToStream method Dec 9, 2025
@kirankumarkolli
Copy link
Copy Markdown
Member

/azp run

@azure-pipelines
Copy link
Copy Markdown

Azure Pipelines successfully started running 1 pipeline(s).

@kirankumarkolli
Copy link
Copy Markdown
Member

/azp run

@azure-pipelines
Copy link
Copy Markdown

Azure Pipelines successfully started running 1 pipeline(s).

@kirankumarkolli kirankumarkolli enabled auto-merge (squash) December 11, 2025 17:39
@kirankumarkolli
Copy link
Copy Markdown
Member

/azp run

@azure-pipelines
Copy link
Copy Markdown

Azure Pipelines successfully started running 1 pipeline(s).

@kirankumarkolli kirankumarkolli merged commit ff99cba into Azure:master Dec 17, 2025
23 of 27 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants