Skip to content

Respond to feedback for deserialization constructors#21051

Merged
gewarren merged 2 commits intodotnet:masterfrom
gewarren:constructors-2
Oct 13, 2020
Merged

Respond to feedback for deserialization constructors#21051
gewarren merged 2 commits intodotnet:masterfrom
gewarren:constructors-2

Conversation

@gewarren
Copy link
Contributor

Related to #21025 .

@gewarren gewarren requested a review from a team as a code owner October 12, 2020 23:49
@dotnet-bot dotnet-bot added this to the October 2020 milestone Oct 12, 2020
#### Change description

On .NET Core 3.0 and 3.1, internal and private constructors can be used for deserialization. On .NET Standard 2.0 and 2.1, internal and private constructors are not allowed, and a <xref:System.MissingMethodException> is thrown if no public, parameterless constructor is defined.
The standalone [System.Text.Json NuGet packages](https://www.nuget.org/packages/System.Text.Json/) that support .NET Standard 2.0 and higher, that is, versions 4.6.0-4.7.2, behave inconsistently with the built-in behavior on .NET Core 3.0 and 3.1. On .NET Core 3.x, internal and private constructors can be used for deserialization. In the standalone packages, internal and private constructors are not allowed, and a <xref:System.MissingMethodException> is thrown if no public, parameterless constructor is defined.
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

internal and private constructors

I'd say non-public constructors since protected ctors were also allowed.

…ss-constructors-not-used-for-deserialization.md
@gewarren gewarren merged commit 102fa01 into dotnet:master Oct 13, 2020
@gewarren gewarren deleted the constructors-2 branch October 13, 2020 14:09
BillWagner added a commit that referenced this pull request Oct 14, 2020
* Respond to feedback for deserialization constructors (#21051)

* Fixes #20949. (#21052)

* Add f1-keyword for `class` used as generic type constraint (#21037)

* Add f1-keyword for `class` used as generic type constraint

* Add structconstraint

* Update CS0267 message and simplify example (#21047)

* Update CS0267 message and simplify example

* Update ms.date

* Added a link (#21058)

* Fixes #20958. (#21054)

* fix the source path for retired C# 7.x content (#21059)

The "whats-new" folder was missing.

* Removing redundant pipe character (#20931)

* Update single-file.md (#20925)

update ReadyToRun link now that we have the docs for it.

* Remove statement about TLS 1.3 for .NET Core 3.0 (#20922)

I think, TLS 1.3 won't be supported by .NET Core 3.0 since it's out of support and the implementation is coming with .NET 5, as stated in [Transport Layer Security (TLS) best practices with the .NET Framework](#4675 (comment)).

This info should be removed, so we have no misleading information out there... 😉

* SslStream/NegotiateStream breaking change (#20979)

* Add workload and app model to glossary (#21046)

Co-authored-by: Genevieve Warren <24882762+gewarren@users.noreply.github.com>

* Breaking change for key-value pair serialization (#21050)

* Update .NET Standard overview for .NET 5 (#20955)

Co-authored-by: Genevieve Warren <24882762+gewarren@users.noreply.github.com>

* Update get-started-vscode.md (#21072)

http to https after verifying link

Co-authored-by: Genevieve Warren <24882762+gewarren@users.noreply.github.com>
Co-authored-by: Jon Senchyna <TheSench@users.noreply.github.com>
Co-authored-by: Youssef Victor <31348972+Youssef1313@users.noreply.github.com>
Co-authored-by: David Pine <david.pine@microsoft.com>
Co-authored-by: Bill Wagner <wiwagn@microsoft.com>
Co-authored-by: William Whitwell Bailey <45574209+willwhitwellbailey@users.noreply.github.com>
Co-authored-by: Lakshan Fernando <lakshanf@hotmail.com>
Co-authored-by: kapsiR <kapsiR@users.noreply.github.com>
Co-authored-by: Tom Dykstra <tdykstra@microsoft.com>
Co-authored-by: icyfire0573 <40814526+icyfire0573@users.noreply.github.com>
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.

3 participants