Skip to content

Add support for uninitialized instance creation during deserialization#1107

Open
IamFastre wants to merge 2 commits into
aaubry:masterfrom
IamFastre:uninitialized-instance-option
Open

Add support for uninitialized instance creation during deserialization#1107
IamFastre wants to merge 2 commits into
aaubry:masterfrom
IamFastre:uninitialized-instance-option

Conversation

@IamFastre
Copy link
Copy Markdown

Add support for uninitialized instance creation during deserialization, mainly to address positional properties records.

  • Added UnstableAttemptUninitializedInstance setting and related method EnableUnstableAttemptUninitializedInstance in BuilderSkeleton.
  • Now if DefaultObjectFactory fails while the option is on it tries RuntimeHelpers/RuntimeSerialization.
  • Added proper tests with positional properties records.

So something like:

public record class Person(string Name, int Age);
var deserializer = new DeserializerBuilder()
    .EnableUnstableAttemptUninitializedInstance()
    .Build();

deserializer.Deserialize<Person>(input);

would work.

…n, mainly to address positional properties records.

* Added `UnstableAttemptUninitializedInstance` setting and related method `EnableUnstableAttemptUninitializedInstance` in `BuilderSkeleton`.
* Now if `DefaultObjectFactory` fails while the option is on it tries `RuntimeHelpers`/`RuntimeSerialization`.
* Added proper tests with positional properties records.
@IamFastre IamFastre changed the title Add support for uninitialized instance creation during deserializatio… Add support for uninitialized instance creation during deserialization May 27, 2026
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.

1 participant