quicktype icon indicating copy to clipboard operation
quicktype copied to clipboard

C#: Adds version 8 and expands nullability to reference types (#1632)

Open Flern opened this issue 7 months ago • 0 comments

Description

Relaxes nullability check for C# 8+ targeting. C# 8 introduced nullable reference types, thereby removing the restriction that only value types can be made nullable.

Related Issue

(https://github.com/glideapps/quicktype/issues/1632)

Motivation and Context

Specifically when using System.Text.Json, the new nullable ignore attribute does not trigger Roslyn warning CS8601, leading to potential runtime null reference exceptions.

Previous Behaviour / Output

Previously, reference types such as string would not include the ? nullability indicator.

New Behaviour / Output

Now, all C# types (reference and value) will include ? when optional, since the serialized data may contain null values for those properties per the specification.

How Has This Been Tested?

Ran before and after examples in a Docker environment.

Screenshots (if appropriate):

image

Flern avatar Mar 28 '25 21:03 Flern