diff --git a/modules/openapi-generator/src/main/resources/csharp/libraries/generichost/JsonConverter.mustache b/modules/openapi-generator/src/main/resources/csharp/libraries/generichost/JsonConverter.mustache
index 7948f79dbf7c..456f4635013c 100644
--- a/modules/openapi-generator/src/main/resources/csharp/libraries/generichost/JsonConverter.mustache
+++ b/modules/openapi-generator/src/main/resources/csharp/libraries/generichost/JsonConverter.mustache
@@ -43,8 +43,25 @@
{{#lambda.trimLineBreaks}}
int currentDepth = utf8JsonReader.CurrentDepth;
+ {{#composedSchemas.oneOf}}
+ {{#-first}}
+ bool oneOfHasPrimitiveType = false;
+ {{/-first}}
+ {{#isPrimitiveType}}
+ oneOfHasPrimitiveType = true;
+ {{/isPrimitiveType}}
+ {{#-last}}
+
+ if (!oneOfHasPrimitiveType &&
+ utf8JsonReader.TokenType != JsonTokenType.StartObject &&
+ utf8JsonReader.TokenType != JsonTokenType.StartArray)
+ throw new JsonException();
+ {{/-last}}
+ {{/composedSchemas.oneOf}}
+ {{^composedSchemas.oneOf}}
if (utf8JsonReader.TokenType != JsonTokenType.StartObject && utf8JsonReader.TokenType != JsonTokenType.StartArray)
throw new JsonException();
+ {{/composedSchemas.oneOf}}
JsonTokenType startingTokenType = utf8JsonReader.TokenType;
@@ -113,24 +130,40 @@
{{{datatypeWithEnum}}}{{nrt?}}{{^nrt}}{{#vendorExtensions.x-is-value-type}}?{{/vendorExtensions.x-is-value-type}}{{/nrt}} {{#lambda.camelcase_sanitize_param}}{{name}}{{/lambda.camelcase_sanitize_param}} = default;
{{#-last}}
- Utf8JsonReader utf8JsonReaderOneOf = utf8JsonReader;
- while (utf8JsonReaderOneOf.Read())
- {
- if (startingTokenType == JsonTokenType.StartObject && utf8JsonReaderOneOf.TokenType == JsonTokenType.EndObject && currentDepth == utf8JsonReaderOneOf.CurrentDepth)
- break;
- if (startingTokenType == JsonTokenType.StartArray && utf8JsonReaderOneOf.TokenType == JsonTokenType.EndArray && currentDepth == utf8JsonReaderOneOf.CurrentDepth)
- break;
+ if (oneOfHasPrimitiveType &&
+ startingTokenType != JsonTokenType.StartObject &&
+ startingTokenType != JsonTokenType.StartArray)
+ {
+ {{#oneOf}}
+ Utf8JsonReader utf8JsonReader{{name}} = utf8JsonReader;
+ ClientUtils.TryDeserialize<{{{datatypeWithEnum}}}{{nrt?}}{{^nrt}}{{#vendorExtensions.x-is-value-type}}?{{/vendorExtensions.x-is-value-type}}{{/nrt}}>(ref utf8JsonReader{{name}}, jsonSerializerOptions, out {{#lambda.camelcase_sanitize_param}}{{name}}{{/lambda.camelcase_sanitize_param}});
+ {{^-last}}
- if (utf8JsonReaderOneOf.TokenType == JsonTokenType.PropertyName && currentDepth == utf8JsonReaderOneOf.CurrentDepth - 1)
+ {{/-last}}
+ {{/oneOf}}
+ }
+ else
+ {
+ Utf8JsonReader utf8JsonReaderOneOf = utf8JsonReader;
+ while (utf8JsonReaderOneOf.Read())
{
- {{#oneOf}}
- Utf8JsonReader utf8JsonReader{{name}} = utf8JsonReader;
- ClientUtils.TryDeserialize<{{{datatypeWithEnum}}}{{nrt?}}{{^nrt}}{{#vendorExtensions.x-is-value-type}}?{{/vendorExtensions.x-is-value-type}}{{/nrt}}>(ref utf8JsonReader{{name}}, jsonSerializerOptions, out {{#lambda.camelcase_sanitize_param}}{{name}}{{/lambda.camelcase_sanitize_param}});
- {{^-last}}
+ if (startingTokenType == JsonTokenType.StartObject && utf8JsonReaderOneOf.TokenType == JsonTokenType.EndObject && currentDepth == utf8JsonReaderOneOf.CurrentDepth)
+ break;
- {{/-last}}
- {{/oneOf}}
+ if (startingTokenType == JsonTokenType.StartArray && utf8JsonReaderOneOf.TokenType == JsonTokenType.EndArray && currentDepth == utf8JsonReaderOneOf.CurrentDepth)
+ break;
+
+ if (utf8JsonReaderOneOf.TokenType == JsonTokenType.PropertyName && currentDepth == utf8JsonReaderOneOf.CurrentDepth - 1)
+ {
+ {{#oneOf}}
+ Utf8JsonReader utf8JsonReader{{name}} = utf8JsonReader;
+ ClientUtils.TryDeserialize<{{{datatypeWithEnum}}}{{nrt?}}{{^nrt}}{{#vendorExtensions.x-is-value-type}}?{{/vendorExtensions.x-is-value-type}}{{/nrt}}>(ref utf8JsonReader{{name}}, jsonSerializerOptions, out {{#lambda.camelcase_sanitize_param}}{{name}}{{/lambda.camelcase_sanitize_param}});
+ {{^-last}}
+
+ {{/-last}}
+ {{/oneOf}}
+ }
}
}
{{/-last}}
@@ -376,7 +409,51 @@
{{/children}}
{{/discriminator}}
+ {{^model.discriminator}}
+ {{#composedSchemas}}
+ {{#oneOf}}
+ {{#isPrimitiveType}}
+ {{#isContainer}}
+ if ({{#lambda.camelcase_sanitize_param}}{{classname}}{{/lambda.camelcase_sanitize_param}}.{{name}} != null)
+ {
+ JsonSerializer.Serialize(writer, {{#lambda.camelcase_sanitize_param}}{{classname}}{{/lambda.camelcase_sanitize_param}}.{{name}}, jsonSerializerOptions);
+ return;
+ }
+
+ {{/isContainer}}
+ {{^isContainer}}
+ {{^vendorExtensions.x-duplicated-data-type}}
+ if ({{#lambda.camelcase_sanitize_param}}{{classname}}{{/lambda.camelcase_sanitize_param}}.{{name}} != null)
+ {
+ JsonSerializer.Serialize(writer, {{#lambda.camelcase_sanitize_param}}{{classname}}{{/lambda.camelcase_sanitize_param}}.{{name}}, jsonSerializerOptions);
+ return;
+ }
+
+ {{/vendorExtensions.x-duplicated-data-type}}
+ {{/isContainer}}
+ {{/isPrimitiveType}}
+ {{/oneOf}}
+ {{/composedSchemas}}
+ {{/model.discriminator}}
writer.WriteStartObject();
+ {{^model.discriminator}}
+ {{#composedSchemas}}
+ {{#oneOf}}
+ {{^vendorExtensions.x-duplicated-data-type}}
+ {{#isModel}}
+ {{^isContainer}}
+ if ({{#lambda.camelcase_sanitize_param}}{{classname}}{{/lambda.camelcase_sanitize_param}}.{{name}} != null)
+ {
+ {{baseType}}JsonConverter {{#lambda.camelcase_sanitize_param}}{{baseType}}JsonConverter{{/lambda.camelcase_sanitize_param}} = ({{baseType}}JsonConverter) jsonSerializerOptions.Converters.First(c => c.CanConvert({{#lambda.camelcase_sanitize_param}}{{classname}}{{/lambda.camelcase_sanitize_param}}.{{name}}.GetType()));
+ {{#lambda.camelcase_sanitize_param}}{{baseType}}JsonConverter{{/lambda.camelcase_sanitize_param}}.WriteProperties(writer, {{#lambda.camelcase_sanitize_param}}{{classname}}{{/lambda.camelcase_sanitize_param}}.{{name}}, jsonSerializerOptions);
+ }
+
+ {{/isContainer}}
+ {{/isModel}}
+ {{/vendorExtensions.x-duplicated-data-type}}
+ {{/oneOf}}
+ {{/composedSchemas}}
+ {{/model.discriminator}}
{{#model.discriminator}}
{{#model.hasDiscriminatorWithNonEmptyMapping}}
@@ -678,4 +755,4 @@
{{/lambda.trimLineBreaks}}
{{/lambda.trimTrailingWithNewLine}}
}
- }
\ No newline at end of file
+ }
diff --git a/modules/openapi-generator/src/test/resources/3_0/oneOf.yaml b/modules/openapi-generator/src/test/resources/3_0/oneOf.yaml
index 4aff70b18f28..63d9e0f65904 100644
--- a/modules/openapi-generator/src/test/resources/3_0/oneOf.yaml
+++ b/modules/openapi-generator/src/test/resources/3_0/oneOf.yaml
@@ -1,46 +1,68 @@
openapi: 3.0.1
+
info:
- title: fruity
- version: 0.0.1
+ title: fruity
+ version: 0.0.1
+
paths:
- /:
- get:
- responses:
- '200':
- description: desc
- content:
- application/json:
- schema:
- $ref: '#/components/schemas/fruit'
+ /:
+ get:
+ responses:
+ '200':
+ description: desc
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/fruit'
+
components:
- schemas:
- fruit:
- title: fruit
- properties:
- color:
- type: string
- oneOf:
- - $ref: '#/components/schemas/apple'
- - $ref: '#/components/schemas/banana'
- - $ref: '#/components/schemas/orange'
- # additionalProperties:
- # type: string
- # uncomment this when https://github.com/swagger-api/swagger-parser/issues/1252 is resolved
- apple:
- title: apple
- type: object
- properties:
- kind:
- type: string
- banana:
- title: banana
- type: object
- properties:
- count:
- type: number
- orange:
- title: orange
- type: object
- properties:
- sweet:
- type: boolean
+ schemas:
+ fruit:
+ title: fruit
+ properties:
+ color:
+ type: string
+ oneOf:
+ - $ref: '#/components/schemas/apple'
+ - $ref: '#/components/schemas/banana'
+ - $ref: '#/components/schemas/orange'
+
+ inlineOneOfModel:
+ title: inlineOneOfModel
+ type: object
+ properties:
+ value:
+ oneOf:
+ - type: string
+ - type: integer
+
+ union:
+ title: union
+ oneOf:
+ - type: string
+ - type: integer
+
+ apple:
+ title: apple
+ type: object
+ properties:
+ kind:
+ type: string
+
+ banana:
+ title: banana
+ type: object
+ properties:
+ count:
+ type: number
+
+ orange:
+ title: orange
+ type: object
+ properties:
+ sweet:
+ type: boolean
+
+# additionalProperties:
+# type: string
+# uncomment this when https://github.com/swagger-api/swagger-parser/issues/1252 is resolved
\ No newline at end of file
diff --git a/samples/client/petstore/csharp/generichost/latest/AnnotatedEnum/src/Org.OpenAPITools/Model/OneOfNullableTest.cs b/samples/client/petstore/csharp/generichost/latest/AnnotatedEnum/src/Org.OpenAPITools/Model/OneOfNullableTest.cs
index 2d632afcb947..3910768cfdfe 100644
--- a/samples/client/petstore/csharp/generichost/latest/AnnotatedEnum/src/Org.OpenAPITools/Model/OneOfNullableTest.cs
+++ b/samples/client/petstore/csharp/generichost/latest/AnnotatedEnum/src/Org.OpenAPITools/Model/OneOfNullableTest.cs
@@ -179,6 +179,18 @@ public override OneOfNullableTest Read(ref Utf8JsonReader utf8JsonReader, Type t
///
public override void Write(Utf8JsonWriter writer, OneOfNullableTest oneOfNullableTest, JsonSerializerOptions jsonSerializerOptions)
{
+ if (oneOfNullableTest.Int != null)
+ {
+ JsonSerializer.Serialize(writer, oneOfNullableTest.Int, jsonSerializerOptions);
+ return;
+ }
+
+ if (oneOfNullableTest.String != null)
+ {
+ JsonSerializer.Serialize(writer, oneOfNullableTest.String, jsonSerializerOptions);
+ return;
+ }
+
writer.WriteStartObject();
WriteProperties(writer, oneOfNullableTest, jsonSerializerOptions);
diff --git a/samples/client/petstore/csharp/generichost/latest/AnnotatedEnum/src/Org.OpenAPITools/Model/ParentWithPluralOneOfPropertyNumber.cs b/samples/client/petstore/csharp/generichost/latest/AnnotatedEnum/src/Org.OpenAPITools/Model/ParentWithPluralOneOfPropertyNumber.cs
index 42eb5c9cd94d..c582bc79731b 100644
--- a/samples/client/petstore/csharp/generichost/latest/AnnotatedEnum/src/Org.OpenAPITools/Model/ParentWithPluralOneOfPropertyNumber.cs
+++ b/samples/client/petstore/csharp/generichost/latest/AnnotatedEnum/src/Org.OpenAPITools/Model/ParentWithPluralOneOfPropertyNumber.cs
@@ -178,6 +178,18 @@ public override ParentWithPluralOneOfPropertyNumber Read(ref Utf8JsonReader utf8
///
public override void Write(Utf8JsonWriter writer, ParentWithPluralOneOfPropertyNumber parentWithPluralOneOfPropertyNumber, JsonSerializerOptions jsonSerializerOptions)
{
+ if (parentWithPluralOneOfPropertyNumber.Number != null)
+ {
+ JsonSerializer.Serialize(writer, parentWithPluralOneOfPropertyNumber.Number, jsonSerializerOptions);
+ return;
+ }
+
+ if (parentWithPluralOneOfPropertyNumber.Number2 != null)
+ {
+ JsonSerializer.Serialize(writer, parentWithPluralOneOfPropertyNumber.Number2, jsonSerializerOptions);
+ return;
+ }
+
writer.WriteStartObject();
WriteProperties(writer, parentWithPluralOneOfPropertyNumber, jsonSerializerOptions);
diff --git a/samples/client/petstore/csharp/generichost/latest/OneOfList/src/Org.OpenAPITools.Test/Model/OneOfArrayRequestTests.cs b/samples/client/petstore/csharp/generichost/latest/OneOfList/src/Org.OpenAPITools.Test/Model/OneOfArrayRequestTests.cs
index 1dd0bbfa1260..c0dcd2245807 100644
--- a/samples/client/petstore/csharp/generichost/latest/OneOfList/src/Org.OpenAPITools.Test/Model/OneOfArrayRequestTests.cs
+++ b/samples/client/petstore/csharp/generichost/latest/OneOfList/src/Org.OpenAPITools.Test/Model/OneOfArrayRequestTests.cs
@@ -14,6 +14,7 @@
using System.Linq;
using System.IO;
using System.Collections.Generic;
+using System.Text.Json;
using Org.OpenAPITools.Model;
using Org.OpenAPITools.Client;
using System.Reflection;
@@ -52,5 +53,31 @@ public void OneOfArrayRequestInstanceTest()
// TODO uncomment below to test "IsType" OneOfArrayRequest
//Assert.IsType(instance);
}
+
+ [Fact]
+ public void SerializeOneOfStringArray()
+ {
+ var options = new JsonSerializerOptions();
+ options.Converters.Add(new OneOfArrayRequestJsonConverter());
+ var request = new OneOfArrayRequest(new List { "first", "second" });
+
+ string json = JsonSerializer.Serialize(request, options);
+
+ Assert.Equal("[\"first\",\"second\"]", json);
+ }
+
+ [Fact]
+ public void SerializeOneOfModelArray()
+ {
+ var options = new JsonSerializerOptions();
+ options.Converters.Add(new OneOfArrayRequestJsonConverter());
+ options.Converters.Add(new TestObjectJsonConverter());
+ var item = new TestObject(new Option("example"));
+ var request = new OneOfArrayRequest(new List { item });
+
+ string json = JsonSerializer.Serialize(request, options);
+
+ Assert.Equal("[{\"name\":\"example\"}]", json);
+ }
}
}
diff --git a/samples/client/petstore/csharp/generichost/latest/OneOfList/src/Org.OpenAPITools/Model/OneOfArrayRequest.cs b/samples/client/petstore/csharp/generichost/latest/OneOfList/src/Org.OpenAPITools/Model/OneOfArrayRequest.cs
index 8ce7469d7bca..e0c6959bd5cd 100644
--- a/samples/client/petstore/csharp/generichost/latest/OneOfList/src/Org.OpenAPITools/Model/OneOfArrayRequest.cs
+++ b/samples/client/petstore/csharp/generichost/latest/OneOfList/src/Org.OpenAPITools/Model/OneOfArrayRequest.cs
@@ -178,6 +178,18 @@ public override OneOfArrayRequest Read(ref Utf8JsonReader utf8JsonReader, Type t
///
public override void Write(Utf8JsonWriter writer, OneOfArrayRequest oneOfArrayRequest, JsonSerializerOptions jsonSerializerOptions)
{
+ if (oneOfArrayRequest.List != null)
+ {
+ JsonSerializer.Serialize(writer, oneOfArrayRequest.List, jsonSerializerOptions);
+ return;
+ }
+
+ if (oneOfArrayRequest.List1 != null)
+ {
+ JsonSerializer.Serialize(writer, oneOfArrayRequest.List1, jsonSerializerOptions);
+ return;
+ }
+
writer.WriteStartObject();
WriteProperties(writer, oneOfArrayRequest, jsonSerializerOptions);
diff --git a/samples/client/petstore/csharp/generichost/latest/UseDateTimeOffset/src/Org.OpenAPITools/Model/Fruit.cs b/samples/client/petstore/csharp/generichost/latest/UseDateTimeOffset/src/Org.OpenAPITools/Model/Fruit.cs
index f6b30057b6ca..46a871ba0394 100644
--- a/samples/client/petstore/csharp/generichost/latest/UseDateTimeOffset/src/Org.OpenAPITools/Model/Fruit.cs
+++ b/samples/client/petstore/csharp/generichost/latest/UseDateTimeOffset/src/Org.OpenAPITools/Model/Fruit.cs
@@ -205,6 +205,17 @@ public override Fruit Read(ref Utf8JsonReader utf8JsonReader, Type typeToConvert
public override void Write(Utf8JsonWriter writer, Fruit fruit, JsonSerializerOptions jsonSerializerOptions)
{
writer.WriteStartObject();
+ if (fruit.Apple != null)
+ {
+ AppleJsonConverter appleJsonConverter = (AppleJsonConverter) jsonSerializerOptions.Converters.First(c => c.CanConvert(fruit.Apple.GetType()));
+ appleJsonConverter.WriteProperties(writer, fruit.Apple, jsonSerializerOptions);
+ }
+
+ if (fruit.Banana != null)
+ {
+ BananaJsonConverter bananaJsonConverter = (BananaJsonConverter) jsonSerializerOptions.Converters.First(c => c.CanConvert(fruit.Banana.GetType()));
+ bananaJsonConverter.WriteProperties(writer, fruit.Banana, jsonSerializerOptions);
+ }
WriteProperties(writer, fruit, jsonSerializerOptions);
writer.WriteEndObject();
diff --git a/samples/client/petstore/csharp/generichost/latest/UseDateTimeOffset/src/Org.OpenAPITools/Model/FruitReq.cs b/samples/client/petstore/csharp/generichost/latest/UseDateTimeOffset/src/Org.OpenAPITools/Model/FruitReq.cs
index 1b20a9969162..91f7e067f9b7 100644
--- a/samples/client/petstore/csharp/generichost/latest/UseDateTimeOffset/src/Org.OpenAPITools/Model/FruitReq.cs
+++ b/samples/client/petstore/csharp/generichost/latest/UseDateTimeOffset/src/Org.OpenAPITools/Model/FruitReq.cs
@@ -179,6 +179,17 @@ public override FruitReq Read(ref Utf8JsonReader utf8JsonReader, Type typeToConv
public override void Write(Utf8JsonWriter writer, FruitReq fruitReq, JsonSerializerOptions jsonSerializerOptions)
{
writer.WriteStartObject();
+ if (fruitReq.AppleReq != null)
+ {
+ AppleReqJsonConverter appleReqJsonConverter = (AppleReqJsonConverter) jsonSerializerOptions.Converters.First(c => c.CanConvert(fruitReq.AppleReq.GetType()));
+ appleReqJsonConverter.WriteProperties(writer, fruitReq.AppleReq, jsonSerializerOptions);
+ }
+
+ if (fruitReq.BananaReq != null)
+ {
+ BananaReqJsonConverter bananaReqJsonConverter = (BananaReqJsonConverter) jsonSerializerOptions.Converters.First(c => c.CanConvert(fruitReq.BananaReq.GetType()));
+ bananaReqJsonConverter.WriteProperties(writer, fruitReq.BananaReq, jsonSerializerOptions);
+ }
WriteProperties(writer, fruitReq, jsonSerializerOptions);
writer.WriteEndObject();
diff --git a/samples/client/petstore/csharp/generichost/latest/UseDateTimeOffset/src/Org.OpenAPITools/Model/MixedOneOfContent.cs b/samples/client/petstore/csharp/generichost/latest/UseDateTimeOffset/src/Org.OpenAPITools/Model/MixedOneOfContent.cs
index 2712457d30f9..11396c56a846 100644
--- a/samples/client/petstore/csharp/generichost/latest/UseDateTimeOffset/src/Org.OpenAPITools/Model/MixedOneOfContent.cs
+++ b/samples/client/petstore/csharp/generichost/latest/UseDateTimeOffset/src/Org.OpenAPITools/Model/MixedOneOfContent.cs
@@ -244,7 +244,36 @@ public override MixedOneOfContent Read(ref Utf8JsonReader utf8JsonReader, Type t
///
public override void Write(Utf8JsonWriter writer, MixedOneOfContent mixedOneOfContent, JsonSerializerOptions jsonSerializerOptions)
{
+ if (mixedOneOfContent.String != null)
+ {
+ JsonSerializer.Serialize(writer, mixedOneOfContent.String, jsonSerializerOptions);
+ return;
+ }
+
+ if (mixedOneOfContent.Bool != null)
+ {
+ JsonSerializer.Serialize(writer, mixedOneOfContent.Bool, jsonSerializerOptions);
+ return;
+ }
+
+ if (mixedOneOfContent.Int != null)
+ {
+ JsonSerializer.Serialize(writer, mixedOneOfContent.Int, jsonSerializerOptions);
+ return;
+ }
+
+ if (mixedOneOfContent.Decimal != null)
+ {
+ JsonSerializer.Serialize(writer, mixedOneOfContent.Decimal, jsonSerializerOptions);
+ return;
+ }
+
writer.WriteStartObject();
+ if (mixedOneOfContent.MixedSubId != null)
+ {
+ MixedSubIdJsonConverter mixedSubIdJsonConverter = (MixedSubIdJsonConverter) jsonSerializerOptions.Converters.First(c => c.CanConvert(mixedOneOfContent.MixedSubId.GetType()));
+ mixedSubIdJsonConverter.WriteProperties(writer, mixedOneOfContent.MixedSubId, jsonSerializerOptions);
+ }
WriteProperties(writer, mixedOneOfContent, jsonSerializerOptions);
writer.WriteEndObject();
diff --git a/samples/client/petstore/csharp/generichost/latest/UseDateTimeOffset/src/Org.OpenAPITools/Model/OneOfString.cs b/samples/client/petstore/csharp/generichost/latest/UseDateTimeOffset/src/Org.OpenAPITools/Model/OneOfString.cs
index f18374410642..d4887828f80f 100644
--- a/samples/client/petstore/csharp/generichost/latest/UseDateTimeOffset/src/Org.OpenAPITools/Model/OneOfString.cs
+++ b/samples/client/petstore/csharp/generichost/latest/UseDateTimeOffset/src/Org.OpenAPITools/Model/OneOfString.cs
@@ -140,6 +140,12 @@ public override OneOfString Read(ref Utf8JsonReader utf8JsonReader, Type typeToC
///
public override void Write(Utf8JsonWriter writer, OneOfString oneOfString, JsonSerializerOptions jsonSerializerOptions)
{
+ if (oneOfString.String != null)
+ {
+ JsonSerializer.Serialize(writer, oneOfString.String, jsonSerializerOptions);
+ return;
+ }
+
writer.WriteStartObject();
WriteProperties(writer, oneOfString, jsonSerializerOptions);
diff --git a/samples/client/petstore/csharp/generichost/latest/UseDateTimeOffset/src/Org.OpenAPITools/Model/PolymorphicProperty.cs b/samples/client/petstore/csharp/generichost/latest/UseDateTimeOffset/src/Org.OpenAPITools/Model/PolymorphicProperty.cs
index 9f2518b49d53..4e838c262f80 100644
--- a/samples/client/petstore/csharp/generichost/latest/UseDateTimeOffset/src/Org.OpenAPITools/Model/PolymorphicProperty.cs
+++ b/samples/client/petstore/csharp/generichost/latest/UseDateTimeOffset/src/Org.OpenAPITools/Model/PolymorphicProperty.cs
@@ -222,6 +222,30 @@ public override PolymorphicProperty Read(ref Utf8JsonReader utf8JsonReader, Type
///
public override void Write(Utf8JsonWriter writer, PolymorphicProperty polymorphicProperty, JsonSerializerOptions jsonSerializerOptions)
{
+ if (polymorphicProperty.Bool != null)
+ {
+ JsonSerializer.Serialize(writer, polymorphicProperty.Bool, jsonSerializerOptions);
+ return;
+ }
+
+ if (polymorphicProperty.String != null)
+ {
+ JsonSerializer.Serialize(writer, polymorphicProperty.String, jsonSerializerOptions);
+ return;
+ }
+
+ if (polymorphicProperty.Object != null)
+ {
+ JsonSerializer.Serialize(writer, polymorphicProperty.Object, jsonSerializerOptions);
+ return;
+ }
+
+ if (polymorphicProperty.List != null)
+ {
+ JsonSerializer.Serialize(writer, polymorphicProperty.List, jsonSerializerOptions);
+ return;
+ }
+
writer.WriteStartObject();
WriteProperties(writer, polymorphicProperty, jsonSerializerOptions);
diff --git a/samples/client/petstore/csharp/generichost/net10/FormModels/src/Org.OpenAPITools/Model/Fruit.cs b/samples/client/petstore/csharp/generichost/net10/FormModels/src/Org.OpenAPITools/Model/Fruit.cs
index ca703d27f96c..523e4981cf08 100644
--- a/samples/client/petstore/csharp/generichost/net10/FormModels/src/Org.OpenAPITools/Model/Fruit.cs
+++ b/samples/client/petstore/csharp/generichost/net10/FormModels/src/Org.OpenAPITools/Model/Fruit.cs
@@ -204,6 +204,17 @@ public override Fruit Read(ref Utf8JsonReader utf8JsonReader, Type typeToConvert
public override void Write(Utf8JsonWriter writer, Fruit fruit, JsonSerializerOptions jsonSerializerOptions)
{
writer.WriteStartObject();
+ if (fruit.Apple != null)
+ {
+ AppleJsonConverter appleJsonConverter = (AppleJsonConverter) jsonSerializerOptions.Converters.First(c => c.CanConvert(fruit.Apple.GetType()));
+ appleJsonConverter.WriteProperties(writer, fruit.Apple, jsonSerializerOptions);
+ }
+
+ if (fruit.Banana != null)
+ {
+ BananaJsonConverter bananaJsonConverter = (BananaJsonConverter) jsonSerializerOptions.Converters.First(c => c.CanConvert(fruit.Banana.GetType()));
+ bananaJsonConverter.WriteProperties(writer, fruit.Banana, jsonSerializerOptions);
+ }
WriteProperties(writer, fruit, jsonSerializerOptions);
writer.WriteEndObject();
diff --git a/samples/client/petstore/csharp/generichost/net10/FormModels/src/Org.OpenAPITools/Model/FruitReq.cs b/samples/client/petstore/csharp/generichost/net10/FormModels/src/Org.OpenAPITools/Model/FruitReq.cs
index 440fbefb11ac..ac498f51caf9 100644
--- a/samples/client/petstore/csharp/generichost/net10/FormModels/src/Org.OpenAPITools/Model/FruitReq.cs
+++ b/samples/client/petstore/csharp/generichost/net10/FormModels/src/Org.OpenAPITools/Model/FruitReq.cs
@@ -178,6 +178,17 @@ public override FruitReq Read(ref Utf8JsonReader utf8JsonReader, Type typeToConv
public override void Write(Utf8JsonWriter writer, FruitReq fruitReq, JsonSerializerOptions jsonSerializerOptions)
{
writer.WriteStartObject();
+ if (fruitReq.AppleReq != null)
+ {
+ AppleReqJsonConverter appleReqJsonConverter = (AppleReqJsonConverter) jsonSerializerOptions.Converters.First(c => c.CanConvert(fruitReq.AppleReq.GetType()));
+ appleReqJsonConverter.WriteProperties(writer, fruitReq.AppleReq, jsonSerializerOptions);
+ }
+
+ if (fruitReq.BananaReq != null)
+ {
+ BananaReqJsonConverter bananaReqJsonConverter = (BananaReqJsonConverter) jsonSerializerOptions.Converters.First(c => c.CanConvert(fruitReq.BananaReq.GetType()));
+ bananaReqJsonConverter.WriteProperties(writer, fruitReq.BananaReq, jsonSerializerOptions);
+ }
WriteProperties(writer, fruitReq, jsonSerializerOptions);
writer.WriteEndObject();
diff --git a/samples/client/petstore/csharp/generichost/net10/FormModels/src/Org.OpenAPITools/Model/MixedOneOfContent.cs b/samples/client/petstore/csharp/generichost/net10/FormModels/src/Org.OpenAPITools/Model/MixedOneOfContent.cs
index 88d0a9a352de..270d653642cd 100644
--- a/samples/client/petstore/csharp/generichost/net10/FormModels/src/Org.OpenAPITools/Model/MixedOneOfContent.cs
+++ b/samples/client/petstore/csharp/generichost/net10/FormModels/src/Org.OpenAPITools/Model/MixedOneOfContent.cs
@@ -250,7 +250,36 @@ public override MixedOneOfContent Read(ref Utf8JsonReader utf8JsonReader, Type t
///
public override void Write(Utf8JsonWriter writer, MixedOneOfContent mixedOneOfContent, JsonSerializerOptions jsonSerializerOptions)
{
+ if (mixedOneOfContent.String != null)
+ {
+ JsonSerializer.Serialize(writer, mixedOneOfContent.String, jsonSerializerOptions);
+ return;
+ }
+
+ if (mixedOneOfContent.Bool != null)
+ {
+ JsonSerializer.Serialize(writer, mixedOneOfContent.Bool, jsonSerializerOptions);
+ return;
+ }
+
+ if (mixedOneOfContent.Int != null)
+ {
+ JsonSerializer.Serialize(writer, mixedOneOfContent.Int, jsonSerializerOptions);
+ return;
+ }
+
+ if (mixedOneOfContent.Decimal != null)
+ {
+ JsonSerializer.Serialize(writer, mixedOneOfContent.Decimal, jsonSerializerOptions);
+ return;
+ }
+
writer.WriteStartObject();
+ if (mixedOneOfContent.MixedSubId != null)
+ {
+ MixedSubIdJsonConverter mixedSubIdJsonConverter = (MixedSubIdJsonConverter) jsonSerializerOptions.Converters.First(c => c.CanConvert(mixedOneOfContent.MixedSubId.GetType()));
+ mixedSubIdJsonConverter.WriteProperties(writer, mixedOneOfContent.MixedSubId, jsonSerializerOptions);
+ }
WriteProperties(writer, mixedOneOfContent, jsonSerializerOptions);
writer.WriteEndObject();
diff --git a/samples/client/petstore/csharp/generichost/net10/FormModels/src/Org.OpenAPITools/Model/OneOfString.cs b/samples/client/petstore/csharp/generichost/net10/FormModels/src/Org.OpenAPITools/Model/OneOfString.cs
index af0ceaa278b0..b5b0a324b1eb 100644
--- a/samples/client/petstore/csharp/generichost/net10/FormModels/src/Org.OpenAPITools/Model/OneOfString.cs
+++ b/samples/client/petstore/csharp/generichost/net10/FormModels/src/Org.OpenAPITools/Model/OneOfString.cs
@@ -146,6 +146,12 @@ public override OneOfString Read(ref Utf8JsonReader utf8JsonReader, Type typeToC
///
public override void Write(Utf8JsonWriter writer, OneOfString oneOfString, JsonSerializerOptions jsonSerializerOptions)
{
+ if (oneOfString.String != null)
+ {
+ JsonSerializer.Serialize(writer, oneOfString.String, jsonSerializerOptions);
+ return;
+ }
+
writer.WriteStartObject();
WriteProperties(writer, oneOfString, jsonSerializerOptions);
diff --git a/samples/client/petstore/csharp/generichost/net10/FormModels/src/Org.OpenAPITools/Model/PolymorphicProperty.cs b/samples/client/petstore/csharp/generichost/net10/FormModels/src/Org.OpenAPITools/Model/PolymorphicProperty.cs
index befe6e02ec3a..c7ef5eda6387 100644
--- a/samples/client/petstore/csharp/generichost/net10/FormModels/src/Org.OpenAPITools/Model/PolymorphicProperty.cs
+++ b/samples/client/petstore/csharp/generichost/net10/FormModels/src/Org.OpenAPITools/Model/PolymorphicProperty.cs
@@ -228,6 +228,30 @@ public override PolymorphicProperty Read(ref Utf8JsonReader utf8JsonReader, Type
///
public override void Write(Utf8JsonWriter writer, PolymorphicProperty polymorphicProperty, JsonSerializerOptions jsonSerializerOptions)
{
+ if (polymorphicProperty.Bool != null)
+ {
+ JsonSerializer.Serialize(writer, polymorphicProperty.Bool, jsonSerializerOptions);
+ return;
+ }
+
+ if (polymorphicProperty.String != null)
+ {
+ JsonSerializer.Serialize(writer, polymorphicProperty.String, jsonSerializerOptions);
+ return;
+ }
+
+ if (polymorphicProperty.Object != null)
+ {
+ JsonSerializer.Serialize(writer, polymorphicProperty.Object, jsonSerializerOptions);
+ return;
+ }
+
+ if (polymorphicProperty.List != null)
+ {
+ JsonSerializer.Serialize(writer, polymorphicProperty.List, jsonSerializerOptions);
+ return;
+ }
+
writer.WriteStartObject();
WriteProperties(writer, polymorphicProperty, jsonSerializerOptions);
diff --git a/samples/client/petstore/csharp/generichost/net10/NullReferenceTypes/src/Org.OpenAPITools/Model/Fruit.cs b/samples/client/petstore/csharp/generichost/net10/NullReferenceTypes/src/Org.OpenAPITools/Model/Fruit.cs
index ec0062ba20d3..67cb3b13af6c 100644
--- a/samples/client/petstore/csharp/generichost/net10/NullReferenceTypes/src/Org.OpenAPITools/Model/Fruit.cs
+++ b/samples/client/petstore/csharp/generichost/net10/NullReferenceTypes/src/Org.OpenAPITools/Model/Fruit.cs
@@ -206,6 +206,17 @@ public override Fruit Read(ref Utf8JsonReader utf8JsonReader, Type typeToConvert
public override void Write(Utf8JsonWriter writer, Fruit fruit, JsonSerializerOptions jsonSerializerOptions)
{
writer.WriteStartObject();
+ if (fruit.Apple != null)
+ {
+ AppleJsonConverter appleJsonConverter = (AppleJsonConverter) jsonSerializerOptions.Converters.First(c => c.CanConvert(fruit.Apple.GetType()));
+ appleJsonConverter.WriteProperties(writer, fruit.Apple, jsonSerializerOptions);
+ }
+
+ if (fruit.Banana != null)
+ {
+ BananaJsonConverter bananaJsonConverter = (BananaJsonConverter) jsonSerializerOptions.Converters.First(c => c.CanConvert(fruit.Banana.GetType()));
+ bananaJsonConverter.WriteProperties(writer, fruit.Banana, jsonSerializerOptions);
+ }
WriteProperties(writer, fruit, jsonSerializerOptions);
writer.WriteEndObject();
diff --git a/samples/client/petstore/csharp/generichost/net10/NullReferenceTypes/src/Org.OpenAPITools/Model/FruitReq.cs b/samples/client/petstore/csharp/generichost/net10/NullReferenceTypes/src/Org.OpenAPITools/Model/FruitReq.cs
index af1802aab1a9..d73d15fdc718 100644
--- a/samples/client/petstore/csharp/generichost/net10/NullReferenceTypes/src/Org.OpenAPITools/Model/FruitReq.cs
+++ b/samples/client/petstore/csharp/generichost/net10/NullReferenceTypes/src/Org.OpenAPITools/Model/FruitReq.cs
@@ -180,6 +180,17 @@ public override FruitReq Read(ref Utf8JsonReader utf8JsonReader, Type typeToConv
public override void Write(Utf8JsonWriter writer, FruitReq fruitReq, JsonSerializerOptions jsonSerializerOptions)
{
writer.WriteStartObject();
+ if (fruitReq.AppleReq != null)
+ {
+ AppleReqJsonConverter appleReqJsonConverter = (AppleReqJsonConverter) jsonSerializerOptions.Converters.First(c => c.CanConvert(fruitReq.AppleReq.GetType()));
+ appleReqJsonConverter.WriteProperties(writer, fruitReq.AppleReq, jsonSerializerOptions);
+ }
+
+ if (fruitReq.BananaReq != null)
+ {
+ BananaReqJsonConverter bananaReqJsonConverter = (BananaReqJsonConverter) jsonSerializerOptions.Converters.First(c => c.CanConvert(fruitReq.BananaReq.GetType()));
+ bananaReqJsonConverter.WriteProperties(writer, fruitReq.BananaReq, jsonSerializerOptions);
+ }
WriteProperties(writer, fruitReq, jsonSerializerOptions);
writer.WriteEndObject();
diff --git a/samples/client/petstore/csharp/generichost/net10/NullReferenceTypes/src/Org.OpenAPITools/Model/MixedOneOfContent.cs b/samples/client/petstore/csharp/generichost/net10/NullReferenceTypes/src/Org.OpenAPITools/Model/MixedOneOfContent.cs
index bac36e3cbe70..2b27c5610dad 100644
--- a/samples/client/petstore/csharp/generichost/net10/NullReferenceTypes/src/Org.OpenAPITools/Model/MixedOneOfContent.cs
+++ b/samples/client/petstore/csharp/generichost/net10/NullReferenceTypes/src/Org.OpenAPITools/Model/MixedOneOfContent.cs
@@ -252,7 +252,36 @@ public override MixedOneOfContent Read(ref Utf8JsonReader utf8JsonReader, Type t
///
public override void Write(Utf8JsonWriter writer, MixedOneOfContent mixedOneOfContent, JsonSerializerOptions jsonSerializerOptions)
{
+ if (mixedOneOfContent.String != null)
+ {
+ JsonSerializer.Serialize(writer, mixedOneOfContent.String, jsonSerializerOptions);
+ return;
+ }
+
+ if (mixedOneOfContent.Bool != null)
+ {
+ JsonSerializer.Serialize(writer, mixedOneOfContent.Bool, jsonSerializerOptions);
+ return;
+ }
+
+ if (mixedOneOfContent.Int != null)
+ {
+ JsonSerializer.Serialize(writer, mixedOneOfContent.Int, jsonSerializerOptions);
+ return;
+ }
+
+ if (mixedOneOfContent.Decimal != null)
+ {
+ JsonSerializer.Serialize(writer, mixedOneOfContent.Decimal, jsonSerializerOptions);
+ return;
+ }
+
writer.WriteStartObject();
+ if (mixedOneOfContent.MixedSubId != null)
+ {
+ MixedSubIdJsonConverter mixedSubIdJsonConverter = (MixedSubIdJsonConverter) jsonSerializerOptions.Converters.First(c => c.CanConvert(mixedOneOfContent.MixedSubId.GetType()));
+ mixedSubIdJsonConverter.WriteProperties(writer, mixedOneOfContent.MixedSubId, jsonSerializerOptions);
+ }
WriteProperties(writer, mixedOneOfContent, jsonSerializerOptions);
writer.WriteEndObject();
diff --git a/samples/client/petstore/csharp/generichost/net10/NullReferenceTypes/src/Org.OpenAPITools/Model/OneOfString.cs b/samples/client/petstore/csharp/generichost/net10/NullReferenceTypes/src/Org.OpenAPITools/Model/OneOfString.cs
index e03117058c32..50b6a7869b9f 100644
--- a/samples/client/petstore/csharp/generichost/net10/NullReferenceTypes/src/Org.OpenAPITools/Model/OneOfString.cs
+++ b/samples/client/petstore/csharp/generichost/net10/NullReferenceTypes/src/Org.OpenAPITools/Model/OneOfString.cs
@@ -148,6 +148,12 @@ public override OneOfString Read(ref Utf8JsonReader utf8JsonReader, Type typeToC
///
public override void Write(Utf8JsonWriter writer, OneOfString oneOfString, JsonSerializerOptions jsonSerializerOptions)
{
+ if (oneOfString.String != null)
+ {
+ JsonSerializer.Serialize(writer, oneOfString.String, jsonSerializerOptions);
+ return;
+ }
+
writer.WriteStartObject();
WriteProperties(writer, oneOfString, jsonSerializerOptions);
diff --git a/samples/client/petstore/csharp/generichost/net10/NullReferenceTypes/src/Org.OpenAPITools/Model/PolymorphicProperty.cs b/samples/client/petstore/csharp/generichost/net10/NullReferenceTypes/src/Org.OpenAPITools/Model/PolymorphicProperty.cs
index d33ed7654562..6aeb2e63b84d 100644
--- a/samples/client/petstore/csharp/generichost/net10/NullReferenceTypes/src/Org.OpenAPITools/Model/PolymorphicProperty.cs
+++ b/samples/client/petstore/csharp/generichost/net10/NullReferenceTypes/src/Org.OpenAPITools/Model/PolymorphicProperty.cs
@@ -230,6 +230,30 @@ public override PolymorphicProperty Read(ref Utf8JsonReader utf8JsonReader, Type
///
public override void Write(Utf8JsonWriter writer, PolymorphicProperty polymorphicProperty, JsonSerializerOptions jsonSerializerOptions)
{
+ if (polymorphicProperty.Bool != null)
+ {
+ JsonSerializer.Serialize(writer, polymorphicProperty.Bool, jsonSerializerOptions);
+ return;
+ }
+
+ if (polymorphicProperty.String != null)
+ {
+ JsonSerializer.Serialize(writer, polymorphicProperty.String, jsonSerializerOptions);
+ return;
+ }
+
+ if (polymorphicProperty.Object != null)
+ {
+ JsonSerializer.Serialize(writer, polymorphicProperty.Object, jsonSerializerOptions);
+ return;
+ }
+
+ if (polymorphicProperty.List != null)
+ {
+ JsonSerializer.Serialize(writer, polymorphicProperty.List, jsonSerializerOptions);
+ return;
+ }
+
writer.WriteStartObject();
WriteProperties(writer, polymorphicProperty, jsonSerializerOptions);
diff --git a/samples/client/petstore/csharp/generichost/net10/OneOf/src/Org.OpenAPITools/Model/Fruit.cs b/samples/client/petstore/csharp/generichost/net10/OneOf/src/Org.OpenAPITools/Model/Fruit.cs
index 1a4743015087..be03ed7e708e 100644
--- a/samples/client/petstore/csharp/generichost/net10/OneOf/src/Org.OpenAPITools/Model/Fruit.cs
+++ b/samples/client/petstore/csharp/generichost/net10/OneOf/src/Org.OpenAPITools/Model/Fruit.cs
@@ -237,6 +237,23 @@ public override Fruit Read(ref Utf8JsonReader utf8JsonReader, Type typeToConvert
public override void Write(Utf8JsonWriter writer, Fruit fruit, JsonSerializerOptions jsonSerializerOptions)
{
writer.WriteStartObject();
+ if (fruit.Apple != null)
+ {
+ AppleJsonConverter appleJsonConverter = (AppleJsonConverter) jsonSerializerOptions.Converters.First(c => c.CanConvert(fruit.Apple.GetType()));
+ appleJsonConverter.WriteProperties(writer, fruit.Apple, jsonSerializerOptions);
+ }
+
+ if (fruit.Banana != null)
+ {
+ BananaJsonConverter bananaJsonConverter = (BananaJsonConverter) jsonSerializerOptions.Converters.First(c => c.CanConvert(fruit.Banana.GetType()));
+ bananaJsonConverter.WriteProperties(writer, fruit.Banana, jsonSerializerOptions);
+ }
+
+ if (fruit.Orange != null)
+ {
+ OrangeJsonConverter orangeJsonConverter = (OrangeJsonConverter) jsonSerializerOptions.Converters.First(c => c.CanConvert(fruit.Orange.GetType()));
+ orangeJsonConverter.WriteProperties(writer, fruit.Orange, jsonSerializerOptions);
+ }
WriteProperties(writer, fruit, jsonSerializerOptions);
writer.WriteEndObject();
diff --git a/samples/client/petstore/csharp/generichost/net10/Petstore/src/Org.OpenAPITools/Model/Fruit.cs b/samples/client/petstore/csharp/generichost/net10/Petstore/src/Org.OpenAPITools/Model/Fruit.cs
index ca703d27f96c..523e4981cf08 100644
--- a/samples/client/petstore/csharp/generichost/net10/Petstore/src/Org.OpenAPITools/Model/Fruit.cs
+++ b/samples/client/petstore/csharp/generichost/net10/Petstore/src/Org.OpenAPITools/Model/Fruit.cs
@@ -204,6 +204,17 @@ public override Fruit Read(ref Utf8JsonReader utf8JsonReader, Type typeToConvert
public override void Write(Utf8JsonWriter writer, Fruit fruit, JsonSerializerOptions jsonSerializerOptions)
{
writer.WriteStartObject();
+ if (fruit.Apple != null)
+ {
+ AppleJsonConverter appleJsonConverter = (AppleJsonConverter) jsonSerializerOptions.Converters.First(c => c.CanConvert(fruit.Apple.GetType()));
+ appleJsonConverter.WriteProperties(writer, fruit.Apple, jsonSerializerOptions);
+ }
+
+ if (fruit.Banana != null)
+ {
+ BananaJsonConverter bananaJsonConverter = (BananaJsonConverter) jsonSerializerOptions.Converters.First(c => c.CanConvert(fruit.Banana.GetType()));
+ bananaJsonConverter.WriteProperties(writer, fruit.Banana, jsonSerializerOptions);
+ }
WriteProperties(writer, fruit, jsonSerializerOptions);
writer.WriteEndObject();
diff --git a/samples/client/petstore/csharp/generichost/net10/Petstore/src/Org.OpenAPITools/Model/FruitReq.cs b/samples/client/petstore/csharp/generichost/net10/Petstore/src/Org.OpenAPITools/Model/FruitReq.cs
index 440fbefb11ac..ac498f51caf9 100644
--- a/samples/client/petstore/csharp/generichost/net10/Petstore/src/Org.OpenAPITools/Model/FruitReq.cs
+++ b/samples/client/petstore/csharp/generichost/net10/Petstore/src/Org.OpenAPITools/Model/FruitReq.cs
@@ -178,6 +178,17 @@ public override FruitReq Read(ref Utf8JsonReader utf8JsonReader, Type typeToConv
public override void Write(Utf8JsonWriter writer, FruitReq fruitReq, JsonSerializerOptions jsonSerializerOptions)
{
writer.WriteStartObject();
+ if (fruitReq.AppleReq != null)
+ {
+ AppleReqJsonConverter appleReqJsonConverter = (AppleReqJsonConverter) jsonSerializerOptions.Converters.First(c => c.CanConvert(fruitReq.AppleReq.GetType()));
+ appleReqJsonConverter.WriteProperties(writer, fruitReq.AppleReq, jsonSerializerOptions);
+ }
+
+ if (fruitReq.BananaReq != null)
+ {
+ BananaReqJsonConverter bananaReqJsonConverter = (BananaReqJsonConverter) jsonSerializerOptions.Converters.First(c => c.CanConvert(fruitReq.BananaReq.GetType()));
+ bananaReqJsonConverter.WriteProperties(writer, fruitReq.BananaReq, jsonSerializerOptions);
+ }
WriteProperties(writer, fruitReq, jsonSerializerOptions);
writer.WriteEndObject();
diff --git a/samples/client/petstore/csharp/generichost/net10/Petstore/src/Org.OpenAPITools/Model/MixedOneOfContent.cs b/samples/client/petstore/csharp/generichost/net10/Petstore/src/Org.OpenAPITools/Model/MixedOneOfContent.cs
index 88d0a9a352de..270d653642cd 100644
--- a/samples/client/petstore/csharp/generichost/net10/Petstore/src/Org.OpenAPITools/Model/MixedOneOfContent.cs
+++ b/samples/client/petstore/csharp/generichost/net10/Petstore/src/Org.OpenAPITools/Model/MixedOneOfContent.cs
@@ -250,7 +250,36 @@ public override MixedOneOfContent Read(ref Utf8JsonReader utf8JsonReader, Type t
///
public override void Write(Utf8JsonWriter writer, MixedOneOfContent mixedOneOfContent, JsonSerializerOptions jsonSerializerOptions)
{
+ if (mixedOneOfContent.String != null)
+ {
+ JsonSerializer.Serialize(writer, mixedOneOfContent.String, jsonSerializerOptions);
+ return;
+ }
+
+ if (mixedOneOfContent.Bool != null)
+ {
+ JsonSerializer.Serialize(writer, mixedOneOfContent.Bool, jsonSerializerOptions);
+ return;
+ }
+
+ if (mixedOneOfContent.Int != null)
+ {
+ JsonSerializer.Serialize(writer, mixedOneOfContent.Int, jsonSerializerOptions);
+ return;
+ }
+
+ if (mixedOneOfContent.Decimal != null)
+ {
+ JsonSerializer.Serialize(writer, mixedOneOfContent.Decimal, jsonSerializerOptions);
+ return;
+ }
+
writer.WriteStartObject();
+ if (mixedOneOfContent.MixedSubId != null)
+ {
+ MixedSubIdJsonConverter mixedSubIdJsonConverter = (MixedSubIdJsonConverter) jsonSerializerOptions.Converters.First(c => c.CanConvert(mixedOneOfContent.MixedSubId.GetType()));
+ mixedSubIdJsonConverter.WriteProperties(writer, mixedOneOfContent.MixedSubId, jsonSerializerOptions);
+ }
WriteProperties(writer, mixedOneOfContent, jsonSerializerOptions);
writer.WriteEndObject();
diff --git a/samples/client/petstore/csharp/generichost/net10/Petstore/src/Org.OpenAPITools/Model/OneOfString.cs b/samples/client/petstore/csharp/generichost/net10/Petstore/src/Org.OpenAPITools/Model/OneOfString.cs
index af0ceaa278b0..b5b0a324b1eb 100644
--- a/samples/client/petstore/csharp/generichost/net10/Petstore/src/Org.OpenAPITools/Model/OneOfString.cs
+++ b/samples/client/petstore/csharp/generichost/net10/Petstore/src/Org.OpenAPITools/Model/OneOfString.cs
@@ -146,6 +146,12 @@ public override OneOfString Read(ref Utf8JsonReader utf8JsonReader, Type typeToC
///
public override void Write(Utf8JsonWriter writer, OneOfString oneOfString, JsonSerializerOptions jsonSerializerOptions)
{
+ if (oneOfString.String != null)
+ {
+ JsonSerializer.Serialize(writer, oneOfString.String, jsonSerializerOptions);
+ return;
+ }
+
writer.WriteStartObject();
WriteProperties(writer, oneOfString, jsonSerializerOptions);
diff --git a/samples/client/petstore/csharp/generichost/net10/Petstore/src/Org.OpenAPITools/Model/PolymorphicProperty.cs b/samples/client/petstore/csharp/generichost/net10/Petstore/src/Org.OpenAPITools/Model/PolymorphicProperty.cs
index befe6e02ec3a..c7ef5eda6387 100644
--- a/samples/client/petstore/csharp/generichost/net10/Petstore/src/Org.OpenAPITools/Model/PolymorphicProperty.cs
+++ b/samples/client/petstore/csharp/generichost/net10/Petstore/src/Org.OpenAPITools/Model/PolymorphicProperty.cs
@@ -228,6 +228,30 @@ public override PolymorphicProperty Read(ref Utf8JsonReader utf8JsonReader, Type
///
public override void Write(Utf8JsonWriter writer, PolymorphicProperty polymorphicProperty, JsonSerializerOptions jsonSerializerOptions)
{
+ if (polymorphicProperty.Bool != null)
+ {
+ JsonSerializer.Serialize(writer, polymorphicProperty.Bool, jsonSerializerOptions);
+ return;
+ }
+
+ if (polymorphicProperty.String != null)
+ {
+ JsonSerializer.Serialize(writer, polymorphicProperty.String, jsonSerializerOptions);
+ return;
+ }
+
+ if (polymorphicProperty.Object != null)
+ {
+ JsonSerializer.Serialize(writer, polymorphicProperty.Object, jsonSerializerOptions);
+ return;
+ }
+
+ if (polymorphicProperty.List != null)
+ {
+ JsonSerializer.Serialize(writer, polymorphicProperty.List, jsonSerializerOptions);
+ return;
+ }
+
writer.WriteStartObject();
WriteProperties(writer, polymorphicProperty, jsonSerializerOptions);
diff --git a/samples/client/petstore/csharp/generichost/net10/SourceGeneration/src/Org.OpenAPITools/Model/Fruit.cs b/samples/client/petstore/csharp/generichost/net10/SourceGeneration/src/Org.OpenAPITools/Model/Fruit.cs
index 9bad6c70417c..8e385da82a91 100644
--- a/samples/client/petstore/csharp/generichost/net10/SourceGeneration/src/Org.OpenAPITools/Model/Fruit.cs
+++ b/samples/client/petstore/csharp/generichost/net10/SourceGeneration/src/Org.OpenAPITools/Model/Fruit.cs
@@ -207,6 +207,17 @@ public override Fruit Read(ref Utf8JsonReader utf8JsonReader, Type typeToConvert
public override void Write(Utf8JsonWriter writer, Fruit fruit, JsonSerializerOptions jsonSerializerOptions)
{
writer.WriteStartObject();
+ if (fruit.Apple != null)
+ {
+ AppleJsonConverter appleJsonConverter = (AppleJsonConverter) jsonSerializerOptions.Converters.First(c => c.CanConvert(fruit.Apple.GetType()));
+ appleJsonConverter.WriteProperties(writer, fruit.Apple, jsonSerializerOptions);
+ }
+
+ if (fruit.Banana != null)
+ {
+ BananaJsonConverter bananaJsonConverter = (BananaJsonConverter) jsonSerializerOptions.Converters.First(c => c.CanConvert(fruit.Banana.GetType()));
+ bananaJsonConverter.WriteProperties(writer, fruit.Banana, jsonSerializerOptions);
+ }
WriteProperties(writer, fruit, jsonSerializerOptions);
writer.WriteEndObject();
diff --git a/samples/client/petstore/csharp/generichost/net10/SourceGeneration/src/Org.OpenAPITools/Model/FruitReq.cs b/samples/client/petstore/csharp/generichost/net10/SourceGeneration/src/Org.OpenAPITools/Model/FruitReq.cs
index ed5e1e35c028..361da9371288 100644
--- a/samples/client/petstore/csharp/generichost/net10/SourceGeneration/src/Org.OpenAPITools/Model/FruitReq.cs
+++ b/samples/client/petstore/csharp/generichost/net10/SourceGeneration/src/Org.OpenAPITools/Model/FruitReq.cs
@@ -181,6 +181,17 @@ public override FruitReq Read(ref Utf8JsonReader utf8JsonReader, Type typeToConv
public override void Write(Utf8JsonWriter writer, FruitReq fruitReq, JsonSerializerOptions jsonSerializerOptions)
{
writer.WriteStartObject();
+ if (fruitReq.AppleReq != null)
+ {
+ AppleReqJsonConverter appleReqJsonConverter = (AppleReqJsonConverter) jsonSerializerOptions.Converters.First(c => c.CanConvert(fruitReq.AppleReq.GetType()));
+ appleReqJsonConverter.WriteProperties(writer, fruitReq.AppleReq, jsonSerializerOptions);
+ }
+
+ if (fruitReq.BananaReq != null)
+ {
+ BananaReqJsonConverter bananaReqJsonConverter = (BananaReqJsonConverter) jsonSerializerOptions.Converters.First(c => c.CanConvert(fruitReq.BananaReq.GetType()));
+ bananaReqJsonConverter.WriteProperties(writer, fruitReq.BananaReq, jsonSerializerOptions);
+ }
WriteProperties(writer, fruitReq, jsonSerializerOptions);
writer.WriteEndObject();
diff --git a/samples/client/petstore/csharp/generichost/net10/SourceGeneration/src/Org.OpenAPITools/Model/MixedOneOfContent.cs b/samples/client/petstore/csharp/generichost/net10/SourceGeneration/src/Org.OpenAPITools/Model/MixedOneOfContent.cs
index ca6ca27187dd..c96886067b6b 100644
--- a/samples/client/petstore/csharp/generichost/net10/SourceGeneration/src/Org.OpenAPITools/Model/MixedOneOfContent.cs
+++ b/samples/client/petstore/csharp/generichost/net10/SourceGeneration/src/Org.OpenAPITools/Model/MixedOneOfContent.cs
@@ -253,7 +253,36 @@ public override MixedOneOfContent Read(ref Utf8JsonReader utf8JsonReader, Type t
///
public override void Write(Utf8JsonWriter writer, MixedOneOfContent mixedOneOfContent, JsonSerializerOptions jsonSerializerOptions)
{
+ if (mixedOneOfContent.String != null)
+ {
+ JsonSerializer.Serialize(writer, mixedOneOfContent.String, jsonSerializerOptions);
+ return;
+ }
+
+ if (mixedOneOfContent.Bool != null)
+ {
+ JsonSerializer.Serialize(writer, mixedOneOfContent.Bool, jsonSerializerOptions);
+ return;
+ }
+
+ if (mixedOneOfContent.Int != null)
+ {
+ JsonSerializer.Serialize(writer, mixedOneOfContent.Int, jsonSerializerOptions);
+ return;
+ }
+
+ if (mixedOneOfContent.Decimal != null)
+ {
+ JsonSerializer.Serialize(writer, mixedOneOfContent.Decimal, jsonSerializerOptions);
+ return;
+ }
+
writer.WriteStartObject();
+ if (mixedOneOfContent.MixedSubId != null)
+ {
+ MixedSubIdJsonConverter mixedSubIdJsonConverter = (MixedSubIdJsonConverter) jsonSerializerOptions.Converters.First(c => c.CanConvert(mixedOneOfContent.MixedSubId.GetType()));
+ mixedSubIdJsonConverter.WriteProperties(writer, mixedOneOfContent.MixedSubId, jsonSerializerOptions);
+ }
WriteProperties(writer, mixedOneOfContent, jsonSerializerOptions);
writer.WriteEndObject();
diff --git a/samples/client/petstore/csharp/generichost/net10/SourceGeneration/src/Org.OpenAPITools/Model/OneOfString.cs b/samples/client/petstore/csharp/generichost/net10/SourceGeneration/src/Org.OpenAPITools/Model/OneOfString.cs
index 4a46f52ead3a..df1341c55fed 100644
--- a/samples/client/petstore/csharp/generichost/net10/SourceGeneration/src/Org.OpenAPITools/Model/OneOfString.cs
+++ b/samples/client/petstore/csharp/generichost/net10/SourceGeneration/src/Org.OpenAPITools/Model/OneOfString.cs
@@ -149,6 +149,12 @@ public override OneOfString Read(ref Utf8JsonReader utf8JsonReader, Type typeToC
///
public override void Write(Utf8JsonWriter writer, OneOfString oneOfString, JsonSerializerOptions jsonSerializerOptions)
{
+ if (oneOfString.String != null)
+ {
+ JsonSerializer.Serialize(writer, oneOfString.String, jsonSerializerOptions);
+ return;
+ }
+
writer.WriteStartObject();
WriteProperties(writer, oneOfString, jsonSerializerOptions);
diff --git a/samples/client/petstore/csharp/generichost/net10/SourceGeneration/src/Org.OpenAPITools/Model/PolymorphicProperty.cs b/samples/client/petstore/csharp/generichost/net10/SourceGeneration/src/Org.OpenAPITools/Model/PolymorphicProperty.cs
index d3e959b95a67..114391721fd3 100644
--- a/samples/client/petstore/csharp/generichost/net10/SourceGeneration/src/Org.OpenAPITools/Model/PolymorphicProperty.cs
+++ b/samples/client/petstore/csharp/generichost/net10/SourceGeneration/src/Org.OpenAPITools/Model/PolymorphicProperty.cs
@@ -231,6 +231,30 @@ public override PolymorphicProperty Read(ref Utf8JsonReader utf8JsonReader, Type
///
public override void Write(Utf8JsonWriter writer, PolymorphicProperty polymorphicProperty, JsonSerializerOptions jsonSerializerOptions)
{
+ if (polymorphicProperty.Bool != null)
+ {
+ JsonSerializer.Serialize(writer, polymorphicProperty.Bool, jsonSerializerOptions);
+ return;
+ }
+
+ if (polymorphicProperty.String != null)
+ {
+ JsonSerializer.Serialize(writer, polymorphicProperty.String, jsonSerializerOptions);
+ return;
+ }
+
+ if (polymorphicProperty.Object != null)
+ {
+ JsonSerializer.Serialize(writer, polymorphicProperty.Object, jsonSerializerOptions);
+ return;
+ }
+
+ if (polymorphicProperty.List != null)
+ {
+ JsonSerializer.Serialize(writer, polymorphicProperty.List, jsonSerializerOptions);
+ return;
+ }
+
writer.WriteStartObject();
WriteProperties(writer, polymorphicProperty, jsonSerializerOptions);
diff --git a/samples/client/petstore/csharp/generichost/net4.7/FormModels/src/Org.OpenAPITools/Model/Fruit.cs b/samples/client/petstore/csharp/generichost/net4.7/FormModels/src/Org.OpenAPITools/Model/Fruit.cs
index ba5d85932b34..453be949b65f 100644
--- a/samples/client/petstore/csharp/generichost/net4.7/FormModels/src/Org.OpenAPITools/Model/Fruit.cs
+++ b/samples/client/petstore/csharp/generichost/net4.7/FormModels/src/Org.OpenAPITools/Model/Fruit.cs
@@ -204,6 +204,17 @@ public override Fruit Read(ref Utf8JsonReader utf8JsonReader, Type typeToConvert
public override void Write(Utf8JsonWriter writer, Fruit fruit, JsonSerializerOptions jsonSerializerOptions)
{
writer.WriteStartObject();
+ if (fruit.Apple != null)
+ {
+ AppleJsonConverter appleJsonConverter = (AppleJsonConverter) jsonSerializerOptions.Converters.First(c => c.CanConvert(fruit.Apple.GetType()));
+ appleJsonConverter.WriteProperties(writer, fruit.Apple, jsonSerializerOptions);
+ }
+
+ if (fruit.Banana != null)
+ {
+ BananaJsonConverter bananaJsonConverter = (BananaJsonConverter) jsonSerializerOptions.Converters.First(c => c.CanConvert(fruit.Banana.GetType()));
+ bananaJsonConverter.WriteProperties(writer, fruit.Banana, jsonSerializerOptions);
+ }
WriteProperties(writer, fruit, jsonSerializerOptions);
writer.WriteEndObject();
diff --git a/samples/client/petstore/csharp/generichost/net4.7/FormModels/src/Org.OpenAPITools/Model/FruitReq.cs b/samples/client/petstore/csharp/generichost/net4.7/FormModels/src/Org.OpenAPITools/Model/FruitReq.cs
index 440fbefb11ac..ac498f51caf9 100644
--- a/samples/client/petstore/csharp/generichost/net4.7/FormModels/src/Org.OpenAPITools/Model/FruitReq.cs
+++ b/samples/client/petstore/csharp/generichost/net4.7/FormModels/src/Org.OpenAPITools/Model/FruitReq.cs
@@ -178,6 +178,17 @@ public override FruitReq Read(ref Utf8JsonReader utf8JsonReader, Type typeToConv
public override void Write(Utf8JsonWriter writer, FruitReq fruitReq, JsonSerializerOptions jsonSerializerOptions)
{
writer.WriteStartObject();
+ if (fruitReq.AppleReq != null)
+ {
+ AppleReqJsonConverter appleReqJsonConverter = (AppleReqJsonConverter) jsonSerializerOptions.Converters.First(c => c.CanConvert(fruitReq.AppleReq.GetType()));
+ appleReqJsonConverter.WriteProperties(writer, fruitReq.AppleReq, jsonSerializerOptions);
+ }
+
+ if (fruitReq.BananaReq != null)
+ {
+ BananaReqJsonConverter bananaReqJsonConverter = (BananaReqJsonConverter) jsonSerializerOptions.Converters.First(c => c.CanConvert(fruitReq.BananaReq.GetType()));
+ bananaReqJsonConverter.WriteProperties(writer, fruitReq.BananaReq, jsonSerializerOptions);
+ }
WriteProperties(writer, fruitReq, jsonSerializerOptions);
writer.WriteEndObject();
diff --git a/samples/client/petstore/csharp/generichost/net4.7/FormModels/src/Org.OpenAPITools/Model/MixedOneOfContent.cs b/samples/client/petstore/csharp/generichost/net4.7/FormModels/src/Org.OpenAPITools/Model/MixedOneOfContent.cs
index 88d0a9a352de..270d653642cd 100644
--- a/samples/client/petstore/csharp/generichost/net4.7/FormModels/src/Org.OpenAPITools/Model/MixedOneOfContent.cs
+++ b/samples/client/petstore/csharp/generichost/net4.7/FormModels/src/Org.OpenAPITools/Model/MixedOneOfContent.cs
@@ -250,7 +250,36 @@ public override MixedOneOfContent Read(ref Utf8JsonReader utf8JsonReader, Type t
///
public override void Write(Utf8JsonWriter writer, MixedOneOfContent mixedOneOfContent, JsonSerializerOptions jsonSerializerOptions)
{
+ if (mixedOneOfContent.String != null)
+ {
+ JsonSerializer.Serialize(writer, mixedOneOfContent.String, jsonSerializerOptions);
+ return;
+ }
+
+ if (mixedOneOfContent.Bool != null)
+ {
+ JsonSerializer.Serialize(writer, mixedOneOfContent.Bool, jsonSerializerOptions);
+ return;
+ }
+
+ if (mixedOneOfContent.Int != null)
+ {
+ JsonSerializer.Serialize(writer, mixedOneOfContent.Int, jsonSerializerOptions);
+ return;
+ }
+
+ if (mixedOneOfContent.Decimal != null)
+ {
+ JsonSerializer.Serialize(writer, mixedOneOfContent.Decimal, jsonSerializerOptions);
+ return;
+ }
+
writer.WriteStartObject();
+ if (mixedOneOfContent.MixedSubId != null)
+ {
+ MixedSubIdJsonConverter mixedSubIdJsonConverter = (MixedSubIdJsonConverter) jsonSerializerOptions.Converters.First(c => c.CanConvert(mixedOneOfContent.MixedSubId.GetType()));
+ mixedSubIdJsonConverter.WriteProperties(writer, mixedOneOfContent.MixedSubId, jsonSerializerOptions);
+ }
WriteProperties(writer, mixedOneOfContent, jsonSerializerOptions);
writer.WriteEndObject();
diff --git a/samples/client/petstore/csharp/generichost/net4.7/FormModels/src/Org.OpenAPITools/Model/OneOfString.cs b/samples/client/petstore/csharp/generichost/net4.7/FormModels/src/Org.OpenAPITools/Model/OneOfString.cs
index af0ceaa278b0..b5b0a324b1eb 100644
--- a/samples/client/petstore/csharp/generichost/net4.7/FormModels/src/Org.OpenAPITools/Model/OneOfString.cs
+++ b/samples/client/petstore/csharp/generichost/net4.7/FormModels/src/Org.OpenAPITools/Model/OneOfString.cs
@@ -146,6 +146,12 @@ public override OneOfString Read(ref Utf8JsonReader utf8JsonReader, Type typeToC
///
public override void Write(Utf8JsonWriter writer, OneOfString oneOfString, JsonSerializerOptions jsonSerializerOptions)
{
+ if (oneOfString.String != null)
+ {
+ JsonSerializer.Serialize(writer, oneOfString.String, jsonSerializerOptions);
+ return;
+ }
+
writer.WriteStartObject();
WriteProperties(writer, oneOfString, jsonSerializerOptions);
diff --git a/samples/client/petstore/csharp/generichost/net4.7/FormModels/src/Org.OpenAPITools/Model/PolymorphicProperty.cs b/samples/client/petstore/csharp/generichost/net4.7/FormModels/src/Org.OpenAPITools/Model/PolymorphicProperty.cs
index befe6e02ec3a..c7ef5eda6387 100644
--- a/samples/client/petstore/csharp/generichost/net4.7/FormModels/src/Org.OpenAPITools/Model/PolymorphicProperty.cs
+++ b/samples/client/petstore/csharp/generichost/net4.7/FormModels/src/Org.OpenAPITools/Model/PolymorphicProperty.cs
@@ -228,6 +228,30 @@ public override PolymorphicProperty Read(ref Utf8JsonReader utf8JsonReader, Type
///
public override void Write(Utf8JsonWriter writer, PolymorphicProperty polymorphicProperty, JsonSerializerOptions jsonSerializerOptions)
{
+ if (polymorphicProperty.Bool != null)
+ {
+ JsonSerializer.Serialize(writer, polymorphicProperty.Bool, jsonSerializerOptions);
+ return;
+ }
+
+ if (polymorphicProperty.String != null)
+ {
+ JsonSerializer.Serialize(writer, polymorphicProperty.String, jsonSerializerOptions);
+ return;
+ }
+
+ if (polymorphicProperty.Object != null)
+ {
+ JsonSerializer.Serialize(writer, polymorphicProperty.Object, jsonSerializerOptions);
+ return;
+ }
+
+ if (polymorphicProperty.List != null)
+ {
+ JsonSerializer.Serialize(writer, polymorphicProperty.List, jsonSerializerOptions);
+ return;
+ }
+
writer.WriteStartObject();
WriteProperties(writer, polymorphicProperty, jsonSerializerOptions);
diff --git a/samples/client/petstore/csharp/generichost/net4.7/OneOf/src/Org.OpenAPITools/Model/Fruit.cs b/samples/client/petstore/csharp/generichost/net4.7/OneOf/src/Org.OpenAPITools/Model/Fruit.cs
index e2e2f33c524d..617047885a4a 100644
--- a/samples/client/petstore/csharp/generichost/net4.7/OneOf/src/Org.OpenAPITools/Model/Fruit.cs
+++ b/samples/client/petstore/csharp/generichost/net4.7/OneOf/src/Org.OpenAPITools/Model/Fruit.cs
@@ -235,6 +235,23 @@ public override Fruit Read(ref Utf8JsonReader utf8JsonReader, Type typeToConvert
public override void Write(Utf8JsonWriter writer, Fruit fruit, JsonSerializerOptions jsonSerializerOptions)
{
writer.WriteStartObject();
+ if (fruit.Apple != null)
+ {
+ AppleJsonConverter appleJsonConverter = (AppleJsonConverter) jsonSerializerOptions.Converters.First(c => c.CanConvert(fruit.Apple.GetType()));
+ appleJsonConverter.WriteProperties(writer, fruit.Apple, jsonSerializerOptions);
+ }
+
+ if (fruit.Banana != null)
+ {
+ BananaJsonConverter bananaJsonConverter = (BananaJsonConverter) jsonSerializerOptions.Converters.First(c => c.CanConvert(fruit.Banana.GetType()));
+ bananaJsonConverter.WriteProperties(writer, fruit.Banana, jsonSerializerOptions);
+ }
+
+ if (fruit.Orange != null)
+ {
+ OrangeJsonConverter orangeJsonConverter = (OrangeJsonConverter) jsonSerializerOptions.Converters.First(c => c.CanConvert(fruit.Orange.GetType()));
+ orangeJsonConverter.WriteProperties(writer, fruit.Orange, jsonSerializerOptions);
+ }
WriteProperties(writer, fruit, jsonSerializerOptions);
writer.WriteEndObject();
diff --git a/samples/client/petstore/csharp/generichost/net4.7/Petstore/src/Org.OpenAPITools/Model/Fruit.cs b/samples/client/petstore/csharp/generichost/net4.7/Petstore/src/Org.OpenAPITools/Model/Fruit.cs
index ba5d85932b34..453be949b65f 100644
--- a/samples/client/petstore/csharp/generichost/net4.7/Petstore/src/Org.OpenAPITools/Model/Fruit.cs
+++ b/samples/client/petstore/csharp/generichost/net4.7/Petstore/src/Org.OpenAPITools/Model/Fruit.cs
@@ -204,6 +204,17 @@ public override Fruit Read(ref Utf8JsonReader utf8JsonReader, Type typeToConvert
public override void Write(Utf8JsonWriter writer, Fruit fruit, JsonSerializerOptions jsonSerializerOptions)
{
writer.WriteStartObject();
+ if (fruit.Apple != null)
+ {
+ AppleJsonConverter appleJsonConverter = (AppleJsonConverter) jsonSerializerOptions.Converters.First(c => c.CanConvert(fruit.Apple.GetType()));
+ appleJsonConverter.WriteProperties(writer, fruit.Apple, jsonSerializerOptions);
+ }
+
+ if (fruit.Banana != null)
+ {
+ BananaJsonConverter bananaJsonConverter = (BananaJsonConverter) jsonSerializerOptions.Converters.First(c => c.CanConvert(fruit.Banana.GetType()));
+ bananaJsonConverter.WriteProperties(writer, fruit.Banana, jsonSerializerOptions);
+ }
WriteProperties(writer, fruit, jsonSerializerOptions);
writer.WriteEndObject();
diff --git a/samples/client/petstore/csharp/generichost/net4.7/Petstore/src/Org.OpenAPITools/Model/FruitReq.cs b/samples/client/petstore/csharp/generichost/net4.7/Petstore/src/Org.OpenAPITools/Model/FruitReq.cs
index 440fbefb11ac..ac498f51caf9 100644
--- a/samples/client/petstore/csharp/generichost/net4.7/Petstore/src/Org.OpenAPITools/Model/FruitReq.cs
+++ b/samples/client/petstore/csharp/generichost/net4.7/Petstore/src/Org.OpenAPITools/Model/FruitReq.cs
@@ -178,6 +178,17 @@ public override FruitReq Read(ref Utf8JsonReader utf8JsonReader, Type typeToConv
public override void Write(Utf8JsonWriter writer, FruitReq fruitReq, JsonSerializerOptions jsonSerializerOptions)
{
writer.WriteStartObject();
+ if (fruitReq.AppleReq != null)
+ {
+ AppleReqJsonConverter appleReqJsonConverter = (AppleReqJsonConverter) jsonSerializerOptions.Converters.First(c => c.CanConvert(fruitReq.AppleReq.GetType()));
+ appleReqJsonConverter.WriteProperties(writer, fruitReq.AppleReq, jsonSerializerOptions);
+ }
+
+ if (fruitReq.BananaReq != null)
+ {
+ BananaReqJsonConverter bananaReqJsonConverter = (BananaReqJsonConverter) jsonSerializerOptions.Converters.First(c => c.CanConvert(fruitReq.BananaReq.GetType()));
+ bananaReqJsonConverter.WriteProperties(writer, fruitReq.BananaReq, jsonSerializerOptions);
+ }
WriteProperties(writer, fruitReq, jsonSerializerOptions);
writer.WriteEndObject();
diff --git a/samples/client/petstore/csharp/generichost/net4.7/Petstore/src/Org.OpenAPITools/Model/MixedOneOfContent.cs b/samples/client/petstore/csharp/generichost/net4.7/Petstore/src/Org.OpenAPITools/Model/MixedOneOfContent.cs
index 88d0a9a352de..270d653642cd 100644
--- a/samples/client/petstore/csharp/generichost/net4.7/Petstore/src/Org.OpenAPITools/Model/MixedOneOfContent.cs
+++ b/samples/client/petstore/csharp/generichost/net4.7/Petstore/src/Org.OpenAPITools/Model/MixedOneOfContent.cs
@@ -250,7 +250,36 @@ public override MixedOneOfContent Read(ref Utf8JsonReader utf8JsonReader, Type t
///
public override void Write(Utf8JsonWriter writer, MixedOneOfContent mixedOneOfContent, JsonSerializerOptions jsonSerializerOptions)
{
+ if (mixedOneOfContent.String != null)
+ {
+ JsonSerializer.Serialize(writer, mixedOneOfContent.String, jsonSerializerOptions);
+ return;
+ }
+
+ if (mixedOneOfContent.Bool != null)
+ {
+ JsonSerializer.Serialize(writer, mixedOneOfContent.Bool, jsonSerializerOptions);
+ return;
+ }
+
+ if (mixedOneOfContent.Int != null)
+ {
+ JsonSerializer.Serialize(writer, mixedOneOfContent.Int, jsonSerializerOptions);
+ return;
+ }
+
+ if (mixedOneOfContent.Decimal != null)
+ {
+ JsonSerializer.Serialize(writer, mixedOneOfContent.Decimal, jsonSerializerOptions);
+ return;
+ }
+
writer.WriteStartObject();
+ if (mixedOneOfContent.MixedSubId != null)
+ {
+ MixedSubIdJsonConverter mixedSubIdJsonConverter = (MixedSubIdJsonConverter) jsonSerializerOptions.Converters.First(c => c.CanConvert(mixedOneOfContent.MixedSubId.GetType()));
+ mixedSubIdJsonConverter.WriteProperties(writer, mixedOneOfContent.MixedSubId, jsonSerializerOptions);
+ }
WriteProperties(writer, mixedOneOfContent, jsonSerializerOptions);
writer.WriteEndObject();
diff --git a/samples/client/petstore/csharp/generichost/net4.7/Petstore/src/Org.OpenAPITools/Model/OneOfString.cs b/samples/client/petstore/csharp/generichost/net4.7/Petstore/src/Org.OpenAPITools/Model/OneOfString.cs
index af0ceaa278b0..b5b0a324b1eb 100644
--- a/samples/client/petstore/csharp/generichost/net4.7/Petstore/src/Org.OpenAPITools/Model/OneOfString.cs
+++ b/samples/client/petstore/csharp/generichost/net4.7/Petstore/src/Org.OpenAPITools/Model/OneOfString.cs
@@ -146,6 +146,12 @@ public override OneOfString Read(ref Utf8JsonReader utf8JsonReader, Type typeToC
///
public override void Write(Utf8JsonWriter writer, OneOfString oneOfString, JsonSerializerOptions jsonSerializerOptions)
{
+ if (oneOfString.String != null)
+ {
+ JsonSerializer.Serialize(writer, oneOfString.String, jsonSerializerOptions);
+ return;
+ }
+
writer.WriteStartObject();
WriteProperties(writer, oneOfString, jsonSerializerOptions);
diff --git a/samples/client/petstore/csharp/generichost/net4.7/Petstore/src/Org.OpenAPITools/Model/PolymorphicProperty.cs b/samples/client/petstore/csharp/generichost/net4.7/Petstore/src/Org.OpenAPITools/Model/PolymorphicProperty.cs
index befe6e02ec3a..c7ef5eda6387 100644
--- a/samples/client/petstore/csharp/generichost/net4.7/Petstore/src/Org.OpenAPITools/Model/PolymorphicProperty.cs
+++ b/samples/client/petstore/csharp/generichost/net4.7/Petstore/src/Org.OpenAPITools/Model/PolymorphicProperty.cs
@@ -228,6 +228,30 @@ public override PolymorphicProperty Read(ref Utf8JsonReader utf8JsonReader, Type
///
public override void Write(Utf8JsonWriter writer, PolymorphicProperty polymorphicProperty, JsonSerializerOptions jsonSerializerOptions)
{
+ if (polymorphicProperty.Bool != null)
+ {
+ JsonSerializer.Serialize(writer, polymorphicProperty.Bool, jsonSerializerOptions);
+ return;
+ }
+
+ if (polymorphicProperty.String != null)
+ {
+ JsonSerializer.Serialize(writer, polymorphicProperty.String, jsonSerializerOptions);
+ return;
+ }
+
+ if (polymorphicProperty.Object != null)
+ {
+ JsonSerializer.Serialize(writer, polymorphicProperty.Object, jsonSerializerOptions);
+ return;
+ }
+
+ if (polymorphicProperty.List != null)
+ {
+ JsonSerializer.Serialize(writer, polymorphicProperty.List, jsonSerializerOptions);
+ return;
+ }
+
writer.WriteStartObject();
WriteProperties(writer, polymorphicProperty, jsonSerializerOptions);
diff --git a/samples/client/petstore/csharp/generichost/net4.8/FormModels/src/Org.OpenAPITools/Model/Fruit.cs b/samples/client/petstore/csharp/generichost/net4.8/FormModels/src/Org.OpenAPITools/Model/Fruit.cs
index ba5d85932b34..453be949b65f 100644
--- a/samples/client/petstore/csharp/generichost/net4.8/FormModels/src/Org.OpenAPITools/Model/Fruit.cs
+++ b/samples/client/petstore/csharp/generichost/net4.8/FormModels/src/Org.OpenAPITools/Model/Fruit.cs
@@ -204,6 +204,17 @@ public override Fruit Read(ref Utf8JsonReader utf8JsonReader, Type typeToConvert
public override void Write(Utf8JsonWriter writer, Fruit fruit, JsonSerializerOptions jsonSerializerOptions)
{
writer.WriteStartObject();
+ if (fruit.Apple != null)
+ {
+ AppleJsonConverter appleJsonConverter = (AppleJsonConverter) jsonSerializerOptions.Converters.First(c => c.CanConvert(fruit.Apple.GetType()));
+ appleJsonConverter.WriteProperties(writer, fruit.Apple, jsonSerializerOptions);
+ }
+
+ if (fruit.Banana != null)
+ {
+ BananaJsonConverter bananaJsonConverter = (BananaJsonConverter) jsonSerializerOptions.Converters.First(c => c.CanConvert(fruit.Banana.GetType()));
+ bananaJsonConverter.WriteProperties(writer, fruit.Banana, jsonSerializerOptions);
+ }
WriteProperties(writer, fruit, jsonSerializerOptions);
writer.WriteEndObject();
diff --git a/samples/client/petstore/csharp/generichost/net4.8/FormModels/src/Org.OpenAPITools/Model/FruitReq.cs b/samples/client/petstore/csharp/generichost/net4.8/FormModels/src/Org.OpenAPITools/Model/FruitReq.cs
index 440fbefb11ac..ac498f51caf9 100644
--- a/samples/client/petstore/csharp/generichost/net4.8/FormModels/src/Org.OpenAPITools/Model/FruitReq.cs
+++ b/samples/client/petstore/csharp/generichost/net4.8/FormModels/src/Org.OpenAPITools/Model/FruitReq.cs
@@ -178,6 +178,17 @@ public override FruitReq Read(ref Utf8JsonReader utf8JsonReader, Type typeToConv
public override void Write(Utf8JsonWriter writer, FruitReq fruitReq, JsonSerializerOptions jsonSerializerOptions)
{
writer.WriteStartObject();
+ if (fruitReq.AppleReq != null)
+ {
+ AppleReqJsonConverter appleReqJsonConverter = (AppleReqJsonConverter) jsonSerializerOptions.Converters.First(c => c.CanConvert(fruitReq.AppleReq.GetType()));
+ appleReqJsonConverter.WriteProperties(writer, fruitReq.AppleReq, jsonSerializerOptions);
+ }
+
+ if (fruitReq.BananaReq != null)
+ {
+ BananaReqJsonConverter bananaReqJsonConverter = (BananaReqJsonConverter) jsonSerializerOptions.Converters.First(c => c.CanConvert(fruitReq.BananaReq.GetType()));
+ bananaReqJsonConverter.WriteProperties(writer, fruitReq.BananaReq, jsonSerializerOptions);
+ }
WriteProperties(writer, fruitReq, jsonSerializerOptions);
writer.WriteEndObject();
diff --git a/samples/client/petstore/csharp/generichost/net4.8/FormModels/src/Org.OpenAPITools/Model/MixedOneOfContent.cs b/samples/client/petstore/csharp/generichost/net4.8/FormModels/src/Org.OpenAPITools/Model/MixedOneOfContent.cs
index 88d0a9a352de..270d653642cd 100644
--- a/samples/client/petstore/csharp/generichost/net4.8/FormModels/src/Org.OpenAPITools/Model/MixedOneOfContent.cs
+++ b/samples/client/petstore/csharp/generichost/net4.8/FormModels/src/Org.OpenAPITools/Model/MixedOneOfContent.cs
@@ -250,7 +250,36 @@ public override MixedOneOfContent Read(ref Utf8JsonReader utf8JsonReader, Type t
///
public override void Write(Utf8JsonWriter writer, MixedOneOfContent mixedOneOfContent, JsonSerializerOptions jsonSerializerOptions)
{
+ if (mixedOneOfContent.String != null)
+ {
+ JsonSerializer.Serialize(writer, mixedOneOfContent.String, jsonSerializerOptions);
+ return;
+ }
+
+ if (mixedOneOfContent.Bool != null)
+ {
+ JsonSerializer.Serialize(writer, mixedOneOfContent.Bool, jsonSerializerOptions);
+ return;
+ }
+
+ if (mixedOneOfContent.Int != null)
+ {
+ JsonSerializer.Serialize(writer, mixedOneOfContent.Int, jsonSerializerOptions);
+ return;
+ }
+
+ if (mixedOneOfContent.Decimal != null)
+ {
+ JsonSerializer.Serialize(writer, mixedOneOfContent.Decimal, jsonSerializerOptions);
+ return;
+ }
+
writer.WriteStartObject();
+ if (mixedOneOfContent.MixedSubId != null)
+ {
+ MixedSubIdJsonConverter mixedSubIdJsonConverter = (MixedSubIdJsonConverter) jsonSerializerOptions.Converters.First(c => c.CanConvert(mixedOneOfContent.MixedSubId.GetType()));
+ mixedSubIdJsonConverter.WriteProperties(writer, mixedOneOfContent.MixedSubId, jsonSerializerOptions);
+ }
WriteProperties(writer, mixedOneOfContent, jsonSerializerOptions);
writer.WriteEndObject();
diff --git a/samples/client/petstore/csharp/generichost/net4.8/FormModels/src/Org.OpenAPITools/Model/OneOfString.cs b/samples/client/petstore/csharp/generichost/net4.8/FormModels/src/Org.OpenAPITools/Model/OneOfString.cs
index af0ceaa278b0..b5b0a324b1eb 100644
--- a/samples/client/petstore/csharp/generichost/net4.8/FormModels/src/Org.OpenAPITools/Model/OneOfString.cs
+++ b/samples/client/petstore/csharp/generichost/net4.8/FormModels/src/Org.OpenAPITools/Model/OneOfString.cs
@@ -146,6 +146,12 @@ public override OneOfString Read(ref Utf8JsonReader utf8JsonReader, Type typeToC
///
public override void Write(Utf8JsonWriter writer, OneOfString oneOfString, JsonSerializerOptions jsonSerializerOptions)
{
+ if (oneOfString.String != null)
+ {
+ JsonSerializer.Serialize(writer, oneOfString.String, jsonSerializerOptions);
+ return;
+ }
+
writer.WriteStartObject();
WriteProperties(writer, oneOfString, jsonSerializerOptions);
diff --git a/samples/client/petstore/csharp/generichost/net4.8/FormModels/src/Org.OpenAPITools/Model/PolymorphicProperty.cs b/samples/client/petstore/csharp/generichost/net4.8/FormModels/src/Org.OpenAPITools/Model/PolymorphicProperty.cs
index befe6e02ec3a..c7ef5eda6387 100644
--- a/samples/client/petstore/csharp/generichost/net4.8/FormModels/src/Org.OpenAPITools/Model/PolymorphicProperty.cs
+++ b/samples/client/petstore/csharp/generichost/net4.8/FormModels/src/Org.OpenAPITools/Model/PolymorphicProperty.cs
@@ -228,6 +228,30 @@ public override PolymorphicProperty Read(ref Utf8JsonReader utf8JsonReader, Type
///
public override void Write(Utf8JsonWriter writer, PolymorphicProperty polymorphicProperty, JsonSerializerOptions jsonSerializerOptions)
{
+ if (polymorphicProperty.Bool != null)
+ {
+ JsonSerializer.Serialize(writer, polymorphicProperty.Bool, jsonSerializerOptions);
+ return;
+ }
+
+ if (polymorphicProperty.String != null)
+ {
+ JsonSerializer.Serialize(writer, polymorphicProperty.String, jsonSerializerOptions);
+ return;
+ }
+
+ if (polymorphicProperty.Object != null)
+ {
+ JsonSerializer.Serialize(writer, polymorphicProperty.Object, jsonSerializerOptions);
+ return;
+ }
+
+ if (polymorphicProperty.List != null)
+ {
+ JsonSerializer.Serialize(writer, polymorphicProperty.List, jsonSerializerOptions);
+ return;
+ }
+
writer.WriteStartObject();
WriteProperties(writer, polymorphicProperty, jsonSerializerOptions);
diff --git a/samples/client/petstore/csharp/generichost/net4.8/OneOf/src/Org.OpenAPITools/Model/Fruit.cs b/samples/client/petstore/csharp/generichost/net4.8/OneOf/src/Org.OpenAPITools/Model/Fruit.cs
index e2e2f33c524d..617047885a4a 100644
--- a/samples/client/petstore/csharp/generichost/net4.8/OneOf/src/Org.OpenAPITools/Model/Fruit.cs
+++ b/samples/client/petstore/csharp/generichost/net4.8/OneOf/src/Org.OpenAPITools/Model/Fruit.cs
@@ -235,6 +235,23 @@ public override Fruit Read(ref Utf8JsonReader utf8JsonReader, Type typeToConvert
public override void Write(Utf8JsonWriter writer, Fruit fruit, JsonSerializerOptions jsonSerializerOptions)
{
writer.WriteStartObject();
+ if (fruit.Apple != null)
+ {
+ AppleJsonConverter appleJsonConverter = (AppleJsonConverter) jsonSerializerOptions.Converters.First(c => c.CanConvert(fruit.Apple.GetType()));
+ appleJsonConverter.WriteProperties(writer, fruit.Apple, jsonSerializerOptions);
+ }
+
+ if (fruit.Banana != null)
+ {
+ BananaJsonConverter bananaJsonConverter = (BananaJsonConverter) jsonSerializerOptions.Converters.First(c => c.CanConvert(fruit.Banana.GetType()));
+ bananaJsonConverter.WriteProperties(writer, fruit.Banana, jsonSerializerOptions);
+ }
+
+ if (fruit.Orange != null)
+ {
+ OrangeJsonConverter orangeJsonConverter = (OrangeJsonConverter) jsonSerializerOptions.Converters.First(c => c.CanConvert(fruit.Orange.GetType()));
+ orangeJsonConverter.WriteProperties(writer, fruit.Orange, jsonSerializerOptions);
+ }
WriteProperties(writer, fruit, jsonSerializerOptions);
writer.WriteEndObject();
diff --git a/samples/client/petstore/csharp/generichost/net4.8/Petstore/src/Org.OpenAPITools/Model/Fruit.cs b/samples/client/petstore/csharp/generichost/net4.8/Petstore/src/Org.OpenAPITools/Model/Fruit.cs
index ba5d85932b34..453be949b65f 100644
--- a/samples/client/petstore/csharp/generichost/net4.8/Petstore/src/Org.OpenAPITools/Model/Fruit.cs
+++ b/samples/client/petstore/csharp/generichost/net4.8/Petstore/src/Org.OpenAPITools/Model/Fruit.cs
@@ -204,6 +204,17 @@ public override Fruit Read(ref Utf8JsonReader utf8JsonReader, Type typeToConvert
public override void Write(Utf8JsonWriter writer, Fruit fruit, JsonSerializerOptions jsonSerializerOptions)
{
writer.WriteStartObject();
+ if (fruit.Apple != null)
+ {
+ AppleJsonConverter appleJsonConverter = (AppleJsonConverter) jsonSerializerOptions.Converters.First(c => c.CanConvert(fruit.Apple.GetType()));
+ appleJsonConverter.WriteProperties(writer, fruit.Apple, jsonSerializerOptions);
+ }
+
+ if (fruit.Banana != null)
+ {
+ BananaJsonConverter bananaJsonConverter = (BananaJsonConverter) jsonSerializerOptions.Converters.First(c => c.CanConvert(fruit.Banana.GetType()));
+ bananaJsonConverter.WriteProperties(writer, fruit.Banana, jsonSerializerOptions);
+ }
WriteProperties(writer, fruit, jsonSerializerOptions);
writer.WriteEndObject();
diff --git a/samples/client/petstore/csharp/generichost/net4.8/Petstore/src/Org.OpenAPITools/Model/FruitReq.cs b/samples/client/petstore/csharp/generichost/net4.8/Petstore/src/Org.OpenAPITools/Model/FruitReq.cs
index 440fbefb11ac..ac498f51caf9 100644
--- a/samples/client/petstore/csharp/generichost/net4.8/Petstore/src/Org.OpenAPITools/Model/FruitReq.cs
+++ b/samples/client/petstore/csharp/generichost/net4.8/Petstore/src/Org.OpenAPITools/Model/FruitReq.cs
@@ -178,6 +178,17 @@ public override FruitReq Read(ref Utf8JsonReader utf8JsonReader, Type typeToConv
public override void Write(Utf8JsonWriter writer, FruitReq fruitReq, JsonSerializerOptions jsonSerializerOptions)
{
writer.WriteStartObject();
+ if (fruitReq.AppleReq != null)
+ {
+ AppleReqJsonConverter appleReqJsonConverter = (AppleReqJsonConverter) jsonSerializerOptions.Converters.First(c => c.CanConvert(fruitReq.AppleReq.GetType()));
+ appleReqJsonConverter.WriteProperties(writer, fruitReq.AppleReq, jsonSerializerOptions);
+ }
+
+ if (fruitReq.BananaReq != null)
+ {
+ BananaReqJsonConverter bananaReqJsonConverter = (BananaReqJsonConverter) jsonSerializerOptions.Converters.First(c => c.CanConvert(fruitReq.BananaReq.GetType()));
+ bananaReqJsonConverter.WriteProperties(writer, fruitReq.BananaReq, jsonSerializerOptions);
+ }
WriteProperties(writer, fruitReq, jsonSerializerOptions);
writer.WriteEndObject();
diff --git a/samples/client/petstore/csharp/generichost/net4.8/Petstore/src/Org.OpenAPITools/Model/MixedOneOfContent.cs b/samples/client/petstore/csharp/generichost/net4.8/Petstore/src/Org.OpenAPITools/Model/MixedOneOfContent.cs
index 88d0a9a352de..270d653642cd 100644
--- a/samples/client/petstore/csharp/generichost/net4.8/Petstore/src/Org.OpenAPITools/Model/MixedOneOfContent.cs
+++ b/samples/client/petstore/csharp/generichost/net4.8/Petstore/src/Org.OpenAPITools/Model/MixedOneOfContent.cs
@@ -250,7 +250,36 @@ public override MixedOneOfContent Read(ref Utf8JsonReader utf8JsonReader, Type t
///
public override void Write(Utf8JsonWriter writer, MixedOneOfContent mixedOneOfContent, JsonSerializerOptions jsonSerializerOptions)
{
+ if (mixedOneOfContent.String != null)
+ {
+ JsonSerializer.Serialize(writer, mixedOneOfContent.String, jsonSerializerOptions);
+ return;
+ }
+
+ if (mixedOneOfContent.Bool != null)
+ {
+ JsonSerializer.Serialize(writer, mixedOneOfContent.Bool, jsonSerializerOptions);
+ return;
+ }
+
+ if (mixedOneOfContent.Int != null)
+ {
+ JsonSerializer.Serialize(writer, mixedOneOfContent.Int, jsonSerializerOptions);
+ return;
+ }
+
+ if (mixedOneOfContent.Decimal != null)
+ {
+ JsonSerializer.Serialize(writer, mixedOneOfContent.Decimal, jsonSerializerOptions);
+ return;
+ }
+
writer.WriteStartObject();
+ if (mixedOneOfContent.MixedSubId != null)
+ {
+ MixedSubIdJsonConverter mixedSubIdJsonConverter = (MixedSubIdJsonConverter) jsonSerializerOptions.Converters.First(c => c.CanConvert(mixedOneOfContent.MixedSubId.GetType()));
+ mixedSubIdJsonConverter.WriteProperties(writer, mixedOneOfContent.MixedSubId, jsonSerializerOptions);
+ }
WriteProperties(writer, mixedOneOfContent, jsonSerializerOptions);
writer.WriteEndObject();
diff --git a/samples/client/petstore/csharp/generichost/net4.8/Petstore/src/Org.OpenAPITools/Model/OneOfString.cs b/samples/client/petstore/csharp/generichost/net4.8/Petstore/src/Org.OpenAPITools/Model/OneOfString.cs
index af0ceaa278b0..b5b0a324b1eb 100644
--- a/samples/client/petstore/csharp/generichost/net4.8/Petstore/src/Org.OpenAPITools/Model/OneOfString.cs
+++ b/samples/client/petstore/csharp/generichost/net4.8/Petstore/src/Org.OpenAPITools/Model/OneOfString.cs
@@ -146,6 +146,12 @@ public override OneOfString Read(ref Utf8JsonReader utf8JsonReader, Type typeToC
///
public override void Write(Utf8JsonWriter writer, OneOfString oneOfString, JsonSerializerOptions jsonSerializerOptions)
{
+ if (oneOfString.String != null)
+ {
+ JsonSerializer.Serialize(writer, oneOfString.String, jsonSerializerOptions);
+ return;
+ }
+
writer.WriteStartObject();
WriteProperties(writer, oneOfString, jsonSerializerOptions);
diff --git a/samples/client/petstore/csharp/generichost/net4.8/Petstore/src/Org.OpenAPITools/Model/PolymorphicProperty.cs b/samples/client/petstore/csharp/generichost/net4.8/Petstore/src/Org.OpenAPITools/Model/PolymorphicProperty.cs
index befe6e02ec3a..c7ef5eda6387 100644
--- a/samples/client/petstore/csharp/generichost/net4.8/Petstore/src/Org.OpenAPITools/Model/PolymorphicProperty.cs
+++ b/samples/client/petstore/csharp/generichost/net4.8/Petstore/src/Org.OpenAPITools/Model/PolymorphicProperty.cs
@@ -228,6 +228,30 @@ public override PolymorphicProperty Read(ref Utf8JsonReader utf8JsonReader, Type
///
public override void Write(Utf8JsonWriter writer, PolymorphicProperty polymorphicProperty, JsonSerializerOptions jsonSerializerOptions)
{
+ if (polymorphicProperty.Bool != null)
+ {
+ JsonSerializer.Serialize(writer, polymorphicProperty.Bool, jsonSerializerOptions);
+ return;
+ }
+
+ if (polymorphicProperty.String != null)
+ {
+ JsonSerializer.Serialize(writer, polymorphicProperty.String, jsonSerializerOptions);
+ return;
+ }
+
+ if (polymorphicProperty.Object != null)
+ {
+ JsonSerializer.Serialize(writer, polymorphicProperty.Object, jsonSerializerOptions);
+ return;
+ }
+
+ if (polymorphicProperty.List != null)
+ {
+ JsonSerializer.Serialize(writer, polymorphicProperty.List, jsonSerializerOptions);
+ return;
+ }
+
writer.WriteStartObject();
WriteProperties(writer, polymorphicProperty, jsonSerializerOptions);
diff --git a/samples/client/petstore/csharp/generichost/net8/FormModels/src/Org.OpenAPITools/Model/Fruit.cs b/samples/client/petstore/csharp/generichost/net8/FormModels/src/Org.OpenAPITools/Model/Fruit.cs
index ca703d27f96c..c9638e5b9882 100644
--- a/samples/client/petstore/csharp/generichost/net8/FormModels/src/Org.OpenAPITools/Model/Fruit.cs
+++ b/samples/client/petstore/csharp/generichost/net8/FormModels/src/Org.OpenAPITools/Model/Fruit.cs
@@ -129,9 +129,6 @@ public override Fruit Read(ref Utf8JsonReader utf8JsonReader, Type typeToConvert
{
int currentDepth = utf8JsonReader.CurrentDepth;
- if (utf8JsonReader.TokenType != JsonTokenType.StartObject && utf8JsonReader.TokenType != JsonTokenType.StartArray)
- throw new JsonException();
-
JsonTokenType startingTokenType = utf8JsonReader.TokenType;
Option color = default;
@@ -139,22 +136,33 @@ public override Fruit Read(ref Utf8JsonReader utf8JsonReader, Type typeToConvert
Apple apple = default;
Banana banana = default;
- Utf8JsonReader utf8JsonReaderOneOf = utf8JsonReader;
- while (utf8JsonReaderOneOf.Read())
+ if (startingTokenType != JsonTokenType.StartObject && startingTokenType != JsonTokenType.StartArray)
{
- if (startingTokenType == JsonTokenType.StartObject && utf8JsonReaderOneOf.TokenType == JsonTokenType.EndObject && currentDepth == utf8JsonReaderOneOf.CurrentDepth)
- break;
-
- if (startingTokenType == JsonTokenType.StartArray && utf8JsonReaderOneOf.TokenType == JsonTokenType.EndArray && currentDepth == utf8JsonReaderOneOf.CurrentDepth)
- break;
+ Utf8JsonReader utf8JsonReaderApple = utf8JsonReader;
+ ClientUtils.TryDeserialize(ref utf8JsonReaderApple, jsonSerializerOptions, out apple);
- if (utf8JsonReaderOneOf.TokenType == JsonTokenType.PropertyName && currentDepth == utf8JsonReaderOneOf.CurrentDepth - 1)
+ Utf8JsonReader utf8JsonReaderBanana = utf8JsonReader;
+ ClientUtils.TryDeserialize(ref utf8JsonReaderBanana, jsonSerializerOptions, out banana);
+ }
+ else
+ {
+ Utf8JsonReader utf8JsonReaderOneOf = utf8JsonReader;
+ while (utf8JsonReaderOneOf.Read())
{
- Utf8JsonReader utf8JsonReaderApple = utf8JsonReader;
- ClientUtils.TryDeserialize(ref utf8JsonReaderApple, jsonSerializerOptions, out apple);
+ if (startingTokenType == JsonTokenType.StartObject && utf8JsonReaderOneOf.TokenType == JsonTokenType.EndObject && currentDepth == utf8JsonReaderOneOf.CurrentDepth)
+ break;
- Utf8JsonReader utf8JsonReaderBanana = utf8JsonReader;
- ClientUtils.TryDeserialize(ref utf8JsonReaderBanana, jsonSerializerOptions, out banana);
+ if (startingTokenType == JsonTokenType.StartArray && utf8JsonReaderOneOf.TokenType == JsonTokenType.EndArray && currentDepth == utf8JsonReaderOneOf.CurrentDepth)
+ break;
+
+ if (utf8JsonReaderOneOf.TokenType == JsonTokenType.PropertyName && currentDepth == utf8JsonReaderOneOf.CurrentDepth - 1)
+ {
+ Utf8JsonReader utf8JsonReaderApple = utf8JsonReader;
+ ClientUtils.TryDeserialize(ref utf8JsonReaderApple, jsonSerializerOptions, out apple);
+
+ Utf8JsonReader utf8JsonReaderBanana = utf8JsonReader;
+ ClientUtils.TryDeserialize(ref utf8JsonReaderBanana, jsonSerializerOptions, out banana);
+ }
}
}
@@ -204,6 +212,17 @@ public override Fruit Read(ref Utf8JsonReader utf8JsonReader, Type typeToConvert
public override void Write(Utf8JsonWriter writer, Fruit fruit, JsonSerializerOptions jsonSerializerOptions)
{
writer.WriteStartObject();
+ if (fruit.Apple != null)
+ {
+ AppleJsonConverter appleJsonConverter = (AppleJsonConverter) jsonSerializerOptions.Converters.First(c => c.CanConvert(fruit.Apple.GetType()));
+ appleJsonConverter.WriteProperties(writer, fruit.Apple, jsonSerializerOptions);
+ }
+
+ if (fruit.Banana != null)
+ {
+ BananaJsonConverter bananaJsonConverter = (BananaJsonConverter) jsonSerializerOptions.Converters.First(c => c.CanConvert(fruit.Banana.GetType()));
+ bananaJsonConverter.WriteProperties(writer, fruit.Banana, jsonSerializerOptions);
+ }
WriteProperties(writer, fruit, jsonSerializerOptions);
writer.WriteEndObject();
diff --git a/samples/client/petstore/csharp/generichost/net8/FormModels/src/Org.OpenAPITools/Model/FruitReq.cs b/samples/client/petstore/csharp/generichost/net8/FormModels/src/Org.OpenAPITools/Model/FruitReq.cs
index 440fbefb11ac..2bb8e810357b 100644
--- a/samples/client/petstore/csharp/generichost/net8/FormModels/src/Org.OpenAPITools/Model/FruitReq.cs
+++ b/samples/client/petstore/csharp/generichost/net8/FormModels/src/Org.OpenAPITools/Model/FruitReq.cs
@@ -111,30 +111,38 @@ public override FruitReq Read(ref Utf8JsonReader utf8JsonReader, Type typeToConv
{
int currentDepth = utf8JsonReader.CurrentDepth;
- if (utf8JsonReader.TokenType != JsonTokenType.StartObject && utf8JsonReader.TokenType != JsonTokenType.StartArray)
- throw new JsonException();
-
JsonTokenType startingTokenType = utf8JsonReader.TokenType;
AppleReq appleReq = default;
BananaReq bananaReq = default;
- Utf8JsonReader utf8JsonReaderOneOf = utf8JsonReader;
- while (utf8JsonReaderOneOf.Read())
+ if (startingTokenType != JsonTokenType.StartObject && startingTokenType != JsonTokenType.StartArray)
{
- if (startingTokenType == JsonTokenType.StartObject && utf8JsonReaderOneOf.TokenType == JsonTokenType.EndObject && currentDepth == utf8JsonReaderOneOf.CurrentDepth)
- break;
-
- if (startingTokenType == JsonTokenType.StartArray && utf8JsonReaderOneOf.TokenType == JsonTokenType.EndArray && currentDepth == utf8JsonReaderOneOf.CurrentDepth)
- break;
+ Utf8JsonReader utf8JsonReaderAppleReq = utf8JsonReader;
+ ClientUtils.TryDeserialize(ref utf8JsonReaderAppleReq, jsonSerializerOptions, out appleReq);
- if (utf8JsonReaderOneOf.TokenType == JsonTokenType.PropertyName && currentDepth == utf8JsonReaderOneOf.CurrentDepth - 1)
+ Utf8JsonReader utf8JsonReaderBananaReq = utf8JsonReader;
+ ClientUtils.TryDeserialize(ref utf8JsonReaderBananaReq, jsonSerializerOptions, out bananaReq);
+ }
+ else
+ {
+ Utf8JsonReader utf8JsonReaderOneOf = utf8JsonReader;
+ while (utf8JsonReaderOneOf.Read())
{
- Utf8JsonReader utf8JsonReaderAppleReq = utf8JsonReader;
- ClientUtils.TryDeserialize(ref utf8JsonReaderAppleReq, jsonSerializerOptions, out appleReq);
+ if (startingTokenType == JsonTokenType.StartObject && utf8JsonReaderOneOf.TokenType == JsonTokenType.EndObject && currentDepth == utf8JsonReaderOneOf.CurrentDepth)
+ break;
- Utf8JsonReader utf8JsonReaderBananaReq = utf8JsonReader;
- ClientUtils.TryDeserialize(ref utf8JsonReaderBananaReq, jsonSerializerOptions, out bananaReq);
+ if (startingTokenType == JsonTokenType.StartArray && utf8JsonReaderOneOf.TokenType == JsonTokenType.EndArray && currentDepth == utf8JsonReaderOneOf.CurrentDepth)
+ break;
+
+ if (utf8JsonReaderOneOf.TokenType == JsonTokenType.PropertyName && currentDepth == utf8JsonReaderOneOf.CurrentDepth - 1)
+ {
+ Utf8JsonReader utf8JsonReaderAppleReq = utf8JsonReader;
+ ClientUtils.TryDeserialize(ref utf8JsonReaderAppleReq, jsonSerializerOptions, out appleReq);
+
+ Utf8JsonReader utf8JsonReaderBananaReq = utf8JsonReader;
+ ClientUtils.TryDeserialize(ref utf8JsonReaderBananaReq, jsonSerializerOptions, out bananaReq);
+ }
}
}
@@ -178,6 +186,17 @@ public override FruitReq Read(ref Utf8JsonReader utf8JsonReader, Type typeToConv
public override void Write(Utf8JsonWriter writer, FruitReq fruitReq, JsonSerializerOptions jsonSerializerOptions)
{
writer.WriteStartObject();
+ if (fruitReq.AppleReq != null)
+ {
+ AppleReqJsonConverter appleReqJsonConverter = (AppleReqJsonConverter) jsonSerializerOptions.Converters.First(c => c.CanConvert(fruitReq.AppleReq.GetType()));
+ appleReqJsonConverter.WriteProperties(writer, fruitReq.AppleReq, jsonSerializerOptions);
+ }
+
+ if (fruitReq.BananaReq != null)
+ {
+ BananaReqJsonConverter bananaReqJsonConverter = (BananaReqJsonConverter) jsonSerializerOptions.Converters.First(c => c.CanConvert(fruitReq.BananaReq.GetType()));
+ bananaReqJsonConverter.WriteProperties(writer, fruitReq.BananaReq, jsonSerializerOptions);
+ }
WriteProperties(writer, fruitReq, jsonSerializerOptions);
writer.WriteEndObject();
diff --git a/samples/client/petstore/csharp/generichost/net8/FormModels/src/Org.OpenAPITools/Model/Mammal.cs b/samples/client/petstore/csharp/generichost/net8/FormModels/src/Org.OpenAPITools/Model/Mammal.cs
index 9bc6bbaaf9b9..887a0aa826cf 100644
--- a/samples/client/petstore/csharp/generichost/net8/FormModels/src/Org.OpenAPITools/Model/Mammal.cs
+++ b/samples/client/petstore/csharp/generichost/net8/FormModels/src/Org.OpenAPITools/Model/Mammal.cs
@@ -143,9 +143,6 @@ public override Mammal Read(ref Utf8JsonReader utf8JsonReader, Type typeToConver
{
int currentDepth = utf8JsonReader.CurrentDepth;
- if (utf8JsonReader.TokenType != JsonTokenType.StartObject && utf8JsonReader.TokenType != JsonTokenType.StartArray)
- throw new JsonException();
-
JsonTokenType startingTokenType = utf8JsonReader.TokenType;
Option className = default;
diff --git a/samples/client/petstore/csharp/generichost/net8/FormModels/src/Org.OpenAPITools/Model/MixedOneOfContent.cs b/samples/client/petstore/csharp/generichost/net8/FormModels/src/Org.OpenAPITools/Model/MixedOneOfContent.cs
index 88d0a9a352de..000f8dddd5cc 100644
--- a/samples/client/petstore/csharp/generichost/net8/FormModels/src/Org.OpenAPITools/Model/MixedOneOfContent.cs
+++ b/samples/client/petstore/csharp/generichost/net8/FormModels/src/Org.OpenAPITools/Model/MixedOneOfContent.cs
@@ -163,9 +163,6 @@ public override MixedOneOfContent Read(ref Utf8JsonReader utf8JsonReader, Type t
{
int currentDepth = utf8JsonReader.CurrentDepth;
- if (utf8JsonReader.TokenType != JsonTokenType.StartObject && utf8JsonReader.TokenType != JsonTokenType.StartArray)
- throw new JsonException();
-
JsonTokenType startingTokenType = utf8JsonReader.TokenType;
string varString = default;
@@ -174,31 +171,51 @@ public override MixedOneOfContent Read(ref Utf8JsonReader utf8JsonReader, Type t
decimal? varDecimal = default;
MixedSubId mixedSubId = default;
- Utf8JsonReader utf8JsonReaderOneOf = utf8JsonReader;
- while (utf8JsonReaderOneOf.Read())
+ if (startingTokenType != JsonTokenType.StartObject && startingTokenType != JsonTokenType.StartArray)
{
- if (startingTokenType == JsonTokenType.StartObject && utf8JsonReaderOneOf.TokenType == JsonTokenType.EndObject && currentDepth == utf8JsonReaderOneOf.CurrentDepth)
- break;
+ Utf8JsonReader utf8JsonReaderString = utf8JsonReader;
+ ClientUtils.TryDeserialize(ref utf8JsonReaderString, jsonSerializerOptions, out varString);
- if (startingTokenType == JsonTokenType.StartArray && utf8JsonReaderOneOf.TokenType == JsonTokenType.EndArray && currentDepth == utf8JsonReaderOneOf.CurrentDepth)
- break;
+ Utf8JsonReader utf8JsonReaderBool = utf8JsonReader;
+ ClientUtils.TryDeserialize(ref utf8JsonReaderBool, jsonSerializerOptions, out varBool);
+
+ Utf8JsonReader utf8JsonReaderInt = utf8JsonReader;
+ ClientUtils.TryDeserialize(ref utf8JsonReaderInt, jsonSerializerOptions, out varInt);
- if (utf8JsonReaderOneOf.TokenType == JsonTokenType.PropertyName && currentDepth == utf8JsonReaderOneOf.CurrentDepth - 1)
+ Utf8JsonReader utf8JsonReaderDecimal = utf8JsonReader;
+ ClientUtils.TryDeserialize(ref utf8JsonReaderDecimal, jsonSerializerOptions, out varDecimal);
+
+ Utf8JsonReader utf8JsonReaderMixedSubId = utf8JsonReader;
+ ClientUtils.TryDeserialize(ref utf8JsonReaderMixedSubId, jsonSerializerOptions, out mixedSubId);
+ }
+ else
+ {
+ Utf8JsonReader utf8JsonReaderOneOf = utf8JsonReader;
+ while (utf8JsonReaderOneOf.Read())
{
- Utf8JsonReader utf8JsonReaderString = utf8JsonReader;
- ClientUtils.TryDeserialize(ref utf8JsonReaderString, jsonSerializerOptions, out varString);
+ if (startingTokenType == JsonTokenType.StartObject && utf8JsonReaderOneOf.TokenType == JsonTokenType.EndObject && currentDepth == utf8JsonReaderOneOf.CurrentDepth)
+ break;
- Utf8JsonReader utf8JsonReaderBool = utf8JsonReader;
- ClientUtils.TryDeserialize(ref utf8JsonReaderBool, jsonSerializerOptions, out varBool);
+ if (startingTokenType == JsonTokenType.StartArray && utf8JsonReaderOneOf.TokenType == JsonTokenType.EndArray && currentDepth == utf8JsonReaderOneOf.CurrentDepth)
+ break;
- Utf8JsonReader utf8JsonReaderInt = utf8JsonReader;
- ClientUtils.TryDeserialize(ref utf8JsonReaderInt, jsonSerializerOptions, out varInt);
+ if (utf8JsonReaderOneOf.TokenType == JsonTokenType.PropertyName && currentDepth == utf8JsonReaderOneOf.CurrentDepth - 1)
+ {
+ Utf8JsonReader utf8JsonReaderString = utf8JsonReader;
+ ClientUtils.TryDeserialize(ref utf8JsonReaderString, jsonSerializerOptions, out varString);
+
+ Utf8JsonReader utf8JsonReaderBool = utf8JsonReader;
+ ClientUtils.TryDeserialize(ref utf8JsonReaderBool, jsonSerializerOptions, out varBool);
+
+ Utf8JsonReader utf8JsonReaderInt = utf8JsonReader;
+ ClientUtils.TryDeserialize(ref utf8JsonReaderInt, jsonSerializerOptions, out varInt);
- Utf8JsonReader utf8JsonReaderDecimal = utf8JsonReader;
- ClientUtils.TryDeserialize(ref utf8JsonReaderDecimal, jsonSerializerOptions, out varDecimal);
+ Utf8JsonReader utf8JsonReaderDecimal = utf8JsonReader;
+ ClientUtils.TryDeserialize(ref utf8JsonReaderDecimal, jsonSerializerOptions, out varDecimal);
- Utf8JsonReader utf8JsonReaderMixedSubId = utf8JsonReader;
- ClientUtils.TryDeserialize(ref utf8JsonReaderMixedSubId, jsonSerializerOptions, out mixedSubId);
+ Utf8JsonReader utf8JsonReaderMixedSubId = utf8JsonReader;
+ ClientUtils.TryDeserialize(ref utf8JsonReaderMixedSubId, jsonSerializerOptions, out mixedSubId);
+ }
}
}
@@ -250,7 +267,36 @@ public override MixedOneOfContent Read(ref Utf8JsonReader utf8JsonReader, Type t
///
public override void Write(Utf8JsonWriter writer, MixedOneOfContent mixedOneOfContent, JsonSerializerOptions jsonSerializerOptions)
{
+ if (mixedOneOfContent.String != null)
+ {
+ JsonSerializer.Serialize(writer, mixedOneOfContent.String, jsonSerializerOptions);
+ return;
+ }
+
+ if (mixedOneOfContent.Bool != null)
+ {
+ JsonSerializer.Serialize(writer, mixedOneOfContent.Bool, jsonSerializerOptions);
+ return;
+ }
+
+ if (mixedOneOfContent.Int != null)
+ {
+ JsonSerializer.Serialize(writer, mixedOneOfContent.Int, jsonSerializerOptions);
+ return;
+ }
+
+ if (mixedOneOfContent.Decimal != null)
+ {
+ JsonSerializer.Serialize(writer, mixedOneOfContent.Decimal, jsonSerializerOptions);
+ return;
+ }
+
writer.WriteStartObject();
+ if (mixedOneOfContent.MixedSubId != null)
+ {
+ MixedSubIdJsonConverter mixedSubIdJsonConverter = (MixedSubIdJsonConverter) jsonSerializerOptions.Converters.First(c => c.CanConvert(mixedOneOfContent.MixedSubId.GetType()));
+ mixedSubIdJsonConverter.WriteProperties(writer, mixedOneOfContent.MixedSubId, jsonSerializerOptions);
+ }
WriteProperties(writer, mixedOneOfContent, jsonSerializerOptions);
writer.WriteEndObject();
diff --git a/samples/client/petstore/csharp/generichost/net8/FormModels/src/Org.OpenAPITools/Model/NullableShape.cs b/samples/client/petstore/csharp/generichost/net8/FormModels/src/Org.OpenAPITools/Model/NullableShape.cs
index dd205b2df274..4b17a388c158 100644
--- a/samples/client/petstore/csharp/generichost/net8/FormModels/src/Org.OpenAPITools/Model/NullableShape.cs
+++ b/samples/client/petstore/csharp/generichost/net8/FormModels/src/Org.OpenAPITools/Model/NullableShape.cs
@@ -128,9 +128,6 @@ public override NullableShape Read(ref Utf8JsonReader utf8JsonReader, Type typeT
{
int currentDepth = utf8JsonReader.CurrentDepth;
- if (utf8JsonReader.TokenType != JsonTokenType.StartObject && utf8JsonReader.TokenType != JsonTokenType.StartArray)
- throw new JsonException();
-
JsonTokenType startingTokenType = utf8JsonReader.TokenType;
Option shapeType = default;
diff --git a/samples/client/petstore/csharp/generichost/net8/FormModels/src/Org.OpenAPITools/Model/OneOfString.cs b/samples/client/petstore/csharp/generichost/net8/FormModels/src/Org.OpenAPITools/Model/OneOfString.cs
index af0ceaa278b0..abe2bb642287 100644
--- a/samples/client/petstore/csharp/generichost/net8/FormModels/src/Org.OpenAPITools/Model/OneOfString.cs
+++ b/samples/client/petstore/csharp/generichost/net8/FormModels/src/Org.OpenAPITools/Model/OneOfString.cs
@@ -103,9 +103,6 @@ public override OneOfString Read(ref Utf8JsonReader utf8JsonReader, Type typeToC
{
int currentDepth = utf8JsonReader.CurrentDepth;
- if (utf8JsonReader.TokenType != JsonTokenType.StartObject && utf8JsonReader.TokenType != JsonTokenType.StartArray)
- throw new JsonException();
-
JsonTokenType startingTokenType = utf8JsonReader.TokenType;
string varString = default;
@@ -146,6 +143,12 @@ public override OneOfString Read(ref Utf8JsonReader utf8JsonReader, Type typeToC
///
public override void Write(Utf8JsonWriter writer, OneOfString oneOfString, JsonSerializerOptions jsonSerializerOptions)
{
+ if (oneOfString.String != null)
+ {
+ JsonSerializer.Serialize(writer, oneOfString.String, jsonSerializerOptions);
+ return;
+ }
+
writer.WriteStartObject();
WriteProperties(writer, oneOfString, jsonSerializerOptions);
diff --git a/samples/client/petstore/csharp/generichost/net8/FormModels/src/Org.OpenAPITools/Model/Pig.cs b/samples/client/petstore/csharp/generichost/net8/FormModels/src/Org.OpenAPITools/Model/Pig.cs
index 3d7b78a18292..ec64315fb235 100644
--- a/samples/client/petstore/csharp/generichost/net8/FormModels/src/Org.OpenAPITools/Model/Pig.cs
+++ b/samples/client/petstore/csharp/generichost/net8/FormModels/src/Org.OpenAPITools/Model/Pig.cs
@@ -128,9 +128,6 @@ public override Pig Read(ref Utf8JsonReader utf8JsonReader, Type typeToConvert,
{
int currentDepth = utf8JsonReader.CurrentDepth;
- if (utf8JsonReader.TokenType != JsonTokenType.StartObject && utf8JsonReader.TokenType != JsonTokenType.StartArray)
- throw new JsonException();
-
JsonTokenType startingTokenType = utf8JsonReader.TokenType;
Option className = default;
diff --git a/samples/client/petstore/csharp/generichost/net8/FormModels/src/Org.OpenAPITools/Model/PolymorphicProperty.cs b/samples/client/petstore/csharp/generichost/net8/FormModels/src/Org.OpenAPITools/Model/PolymorphicProperty.cs
index befe6e02ec3a..6e4ff3f20b9c 100644
--- a/samples/client/petstore/csharp/generichost/net8/FormModels/src/Org.OpenAPITools/Model/PolymorphicProperty.cs
+++ b/samples/client/petstore/csharp/generichost/net8/FormModels/src/Org.OpenAPITools/Model/PolymorphicProperty.cs
@@ -148,9 +148,6 @@ public override PolymorphicProperty Read(ref Utf8JsonReader utf8JsonReader, Type
{
int currentDepth = utf8JsonReader.CurrentDepth;
- if (utf8JsonReader.TokenType != JsonTokenType.StartObject && utf8JsonReader.TokenType != JsonTokenType.StartArray)
- throw new JsonException();
-
JsonTokenType startingTokenType = utf8JsonReader.TokenType;
bool? varBool = default;
@@ -158,28 +155,45 @@ public override PolymorphicProperty Read(ref Utf8JsonReader utf8JsonReader, Type
Object varObject = default;
List list = default;
- Utf8JsonReader utf8JsonReaderOneOf = utf8JsonReader;
- while (utf8JsonReaderOneOf.Read())
+ if (startingTokenType != JsonTokenType.StartObject && startingTokenType != JsonTokenType.StartArray)
{
- if (startingTokenType == JsonTokenType.StartObject && utf8JsonReaderOneOf.TokenType == JsonTokenType.EndObject && currentDepth == utf8JsonReaderOneOf.CurrentDepth)
- break;
+ Utf8JsonReader utf8JsonReaderBool = utf8JsonReader;
+ ClientUtils.TryDeserialize(ref utf8JsonReaderBool, jsonSerializerOptions, out varBool);
- if (startingTokenType == JsonTokenType.StartArray && utf8JsonReaderOneOf.TokenType == JsonTokenType.EndArray && currentDepth == utf8JsonReaderOneOf.CurrentDepth)
- break;
+ Utf8JsonReader utf8JsonReaderString = utf8JsonReader;
+ ClientUtils.TryDeserialize(ref utf8JsonReaderString, jsonSerializerOptions, out varString);
- if (utf8JsonReaderOneOf.TokenType == JsonTokenType.PropertyName && currentDepth == utf8JsonReaderOneOf.CurrentDepth - 1)
+ Utf8JsonReader utf8JsonReaderObject = utf8JsonReader;
+ ClientUtils.TryDeserialize