From 127092596235d88645a0b0ca1524bdbb48277551 Mon Sep 17 00:00:00 2001 From: lfpraca <134505289+lfpraca@users.noreply.github.com> Date: Thu, 30 Oct 2025 12:43:10 +0000 Subject: [PATCH] Update reflection vs source generation documentation Clarify source generation limitations regarding reference preservation in deserialization. --- .../system-text-json/reflection-vs-source-generation.md | 2 ++ 1 file changed, 2 insertions(+) diff --git a/docs/standard/serialization/system-text-json/reflection-vs-source-generation.md b/docs/standard/serialization/system-text-json/reflection-vs-source-generation.md index a2906811adcac..1e67701cba6e5 100644 --- a/docs/standard/serialization/system-text-json/reflection-vs-source-generation.md +++ b/docs/standard/serialization/system-text-json/reflection-vs-source-generation.md @@ -60,3 +60,5 @@ Choose reflection or source-generation modes based on the following benefits tha \* The source generator supports *some* non-public members, for example, internal types in the same assembly. † Source-generated contracts can be modified using the contract customization API. + +Source generation-based deserialization does not support reference preservation when using constructor parameters. Constructor parameters are used for explicit constructor-based deserialization or when any of the object's properties are required or init-only. For more information, see [dotnet/runtime issue 73302](https://github.com/dotnet/runtime/issues/73302).