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..cff653bf3c39 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
@@ -376,7 +376,41 @@
{{/children}}
{{/discriminator}}
+ {{^model.discriminator}}
+ {{#composedSchemas}}
+ {{#oneOf}}
+ {{^vendorExtensions.x-duplicated-data-type}}
+ {{#isPrimitiveType}}
+ 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;
+ }
+
+ {{/isPrimitiveType}}
+ {{/vendorExtensions.x-duplicated-data-type}}
+ {{/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}} = new {{baseType}}JsonConverter();
+ {{#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}}
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/Model/OneOfArrayRequest.cs b/samples/client/petstore/csharp/generichost/latest/OneOfList/src/Org.OpenAPITools/Model/OneOfArrayRequest.cs
index 8ce7469d7bca..4d2030ce0067 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,12 @@ 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;
+ }
+
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..6476f8794a2e 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 = new AppleJsonConverter();
+ appleJsonConverter.WriteProperties(writer, fruit.Apple, jsonSerializerOptions);
+ }
+
+ if (fruit.Banana != null)
+ {
+ BananaJsonConverter bananaJsonConverter = new BananaJsonConverter();
+ 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..2d02ad81c8ce 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 = new AppleReqJsonConverter();
+ appleReqJsonConverter.WriteProperties(writer, fruitReq.AppleReq, jsonSerializerOptions);
+ }
+
+ if (fruitReq.BananaReq != null)
+ {
+ BananaReqJsonConverter bananaReqJsonConverter = new BananaReqJsonConverter();
+ 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..c95ebebd7433 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 = new MixedSubIdJsonConverter();
+ 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..9b43300d7cca 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 = new AppleJsonConverter();
+ appleJsonConverter.WriteProperties(writer, fruit.Apple, jsonSerializerOptions);
+ }
+
+ if (fruit.Banana != null)
+ {
+ BananaJsonConverter bananaJsonConverter = new BananaJsonConverter();
+ 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..fe68f4dd4ac4 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 = new AppleReqJsonConverter();
+ appleReqJsonConverter.WriteProperties(writer, fruitReq.AppleReq, jsonSerializerOptions);
+ }
+
+ if (fruitReq.BananaReq != null)
+ {
+ BananaReqJsonConverter bananaReqJsonConverter = new BananaReqJsonConverter();
+ 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..3b5f93fcfb81 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 = new MixedSubIdJsonConverter();
+ 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..ba772455def9 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 = new AppleJsonConverter();
+ appleJsonConverter.WriteProperties(writer, fruit.Apple, jsonSerializerOptions);
+ }
+
+ if (fruit.Banana != null)
+ {
+ BananaJsonConverter bananaJsonConverter = new BananaJsonConverter();
+ 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..c2a5225419ac 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 = new AppleReqJsonConverter();
+ appleReqJsonConverter.WriteProperties(writer, fruitReq.AppleReq, jsonSerializerOptions);
+ }
+
+ if (fruitReq.BananaReq != null)
+ {
+ BananaReqJsonConverter bananaReqJsonConverter = new BananaReqJsonConverter();
+ 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..a796fe7b94fd 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 = new MixedSubIdJsonConverter();
+ 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..976e6e8a01cb 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 = new AppleJsonConverter();
+ appleJsonConverter.WriteProperties(writer, fruit.Apple, jsonSerializerOptions);
+ }
+
+ if (fruit.Banana != null)
+ {
+ BananaJsonConverter bananaJsonConverter = new BananaJsonConverter();
+ bananaJsonConverter.WriteProperties(writer, fruit.Banana, jsonSerializerOptions);
+ }
+
+ if (fruit.Orange != null)
+ {
+ OrangeJsonConverter orangeJsonConverter = new OrangeJsonConverter();
+ 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..9b43300d7cca 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 = new AppleJsonConverter();
+ appleJsonConverter.WriteProperties(writer, fruit.Apple, jsonSerializerOptions);
+ }
+
+ if (fruit.Banana != null)
+ {
+ BananaJsonConverter bananaJsonConverter = new BananaJsonConverter();
+ 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..fe68f4dd4ac4 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 = new AppleReqJsonConverter();
+ appleReqJsonConverter.WriteProperties(writer, fruitReq.AppleReq, jsonSerializerOptions);
+ }
+
+ if (fruitReq.BananaReq != null)
+ {
+ BananaReqJsonConverter bananaReqJsonConverter = new BananaReqJsonConverter();
+ 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..3b5f93fcfb81 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 = new MixedSubIdJsonConverter();
+ 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..c05675c78ab3 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 = new AppleJsonConverter();
+ appleJsonConverter.WriteProperties(writer, fruit.Apple, jsonSerializerOptions);
+ }
+
+ if (fruit.Banana != null)
+ {
+ BananaJsonConverter bananaJsonConverter = new BananaJsonConverter();
+ 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..0421f1ac82da 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 = new AppleReqJsonConverter();
+ appleReqJsonConverter.WriteProperties(writer, fruitReq.AppleReq, jsonSerializerOptions);
+ }
+
+ if (fruitReq.BananaReq != null)
+ {
+ BananaReqJsonConverter bananaReqJsonConverter = new BananaReqJsonConverter();
+ 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..904686e89fec 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 = new MixedSubIdJsonConverter();
+ 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..8df4f460677c 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 = new AppleJsonConverter();
+ appleJsonConverter.WriteProperties(writer, fruit.Apple, jsonSerializerOptions);
+ }
+
+ if (fruit.Banana != null)
+ {
+ BananaJsonConverter bananaJsonConverter = new BananaJsonConverter();
+ 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..fe68f4dd4ac4 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 = new AppleReqJsonConverter();
+ appleReqJsonConverter.WriteProperties(writer, fruitReq.AppleReq, jsonSerializerOptions);
+ }
+
+ if (fruitReq.BananaReq != null)
+ {
+ BananaReqJsonConverter bananaReqJsonConverter = new BananaReqJsonConverter();
+ 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..3b5f93fcfb81 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 = new MixedSubIdJsonConverter();
+ 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..133cf0b7230a 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 = new AppleJsonConverter();
+ appleJsonConverter.WriteProperties(writer, fruit.Apple, jsonSerializerOptions);
+ }
+
+ if (fruit.Banana != null)
+ {
+ BananaJsonConverter bananaJsonConverter = new BananaJsonConverter();
+ bananaJsonConverter.WriteProperties(writer, fruit.Banana, jsonSerializerOptions);
+ }
+
+ if (fruit.Orange != null)
+ {
+ OrangeJsonConverter orangeJsonConverter = new OrangeJsonConverter();
+ 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..8df4f460677c 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 = new AppleJsonConverter();
+ appleJsonConverter.WriteProperties(writer, fruit.Apple, jsonSerializerOptions);
+ }
+
+ if (fruit.Banana != null)
+ {
+ BananaJsonConverter bananaJsonConverter = new BananaJsonConverter();
+ 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..fe68f4dd4ac4 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 = new AppleReqJsonConverter();
+ appleReqJsonConverter.WriteProperties(writer, fruitReq.AppleReq, jsonSerializerOptions);
+ }
+
+ if (fruitReq.BananaReq != null)
+ {
+ BananaReqJsonConverter bananaReqJsonConverter = new BananaReqJsonConverter();
+ 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..3b5f93fcfb81 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 = new MixedSubIdJsonConverter();
+ 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..8df4f460677c 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 = new AppleJsonConverter();
+ appleJsonConverter.WriteProperties(writer, fruit.Apple, jsonSerializerOptions);
+ }
+
+ if (fruit.Banana != null)
+ {
+ BananaJsonConverter bananaJsonConverter = new BananaJsonConverter();
+ 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..fe68f4dd4ac4 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 = new AppleReqJsonConverter();
+ appleReqJsonConverter.WriteProperties(writer, fruitReq.AppleReq, jsonSerializerOptions);
+ }
+
+ if (fruitReq.BananaReq != null)
+ {
+ BananaReqJsonConverter bananaReqJsonConverter = new BananaReqJsonConverter();
+ 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..3b5f93fcfb81 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 = new MixedSubIdJsonConverter();
+ 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..133cf0b7230a 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 = new AppleJsonConverter();
+ appleJsonConverter.WriteProperties(writer, fruit.Apple, jsonSerializerOptions);
+ }
+
+ if (fruit.Banana != null)
+ {
+ BananaJsonConverter bananaJsonConverter = new BananaJsonConverter();
+ bananaJsonConverter.WriteProperties(writer, fruit.Banana, jsonSerializerOptions);
+ }
+
+ if (fruit.Orange != null)
+ {
+ OrangeJsonConverter orangeJsonConverter = new OrangeJsonConverter();
+ 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..8df4f460677c 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 = new AppleJsonConverter();
+ appleJsonConverter.WriteProperties(writer, fruit.Apple, jsonSerializerOptions);
+ }
+
+ if (fruit.Banana != null)
+ {
+ BananaJsonConverter bananaJsonConverter = new BananaJsonConverter();
+ 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..fe68f4dd4ac4 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 = new AppleReqJsonConverter();
+ appleReqJsonConverter.WriteProperties(writer, fruitReq.AppleReq, jsonSerializerOptions);
+ }
+
+ if (fruitReq.BananaReq != null)
+ {
+ BananaReqJsonConverter bananaReqJsonConverter = new BananaReqJsonConverter();
+ 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..3b5f93fcfb81 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 = new MixedSubIdJsonConverter();
+ 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..9b43300d7cca 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
@@ -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 = new AppleJsonConverter();
+ appleJsonConverter.WriteProperties(writer, fruit.Apple, jsonSerializerOptions);
+ }
+
+ if (fruit.Banana != null)
+ {
+ BananaJsonConverter bananaJsonConverter = new BananaJsonConverter();
+ 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..fe68f4dd4ac4 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
@@ -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 = new AppleReqJsonConverter();
+ appleReqJsonConverter.WriteProperties(writer, fruitReq.AppleReq, jsonSerializerOptions);
+ }
+
+ if (fruitReq.BananaReq != null)
+ {
+ BananaReqJsonConverter bananaReqJsonConverter = new BananaReqJsonConverter();
+ 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/MixedOneOfContent.cs b/samples/client/petstore/csharp/generichost/net8/FormModels/src/Org.OpenAPITools/Model/MixedOneOfContent.cs
index 88d0a9a352de..3b5f93fcfb81 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
@@ -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 = new MixedSubIdJsonConverter();
+ 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/OneOfString.cs b/samples/client/petstore/csharp/generichost/net8/FormModels/src/Org.OpenAPITools/Model/OneOfString.cs
index af0ceaa278b0..b5b0a324b1eb 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
@@ -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/net8/FormModels/src/Org.OpenAPITools/Model/PolymorphicProperty.cs b/samples/client/petstore/csharp/generichost/net8/FormModels/src/Org.OpenAPITools/Model/PolymorphicProperty.cs
index befe6e02ec3a..c7ef5eda6387 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
@@ -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/NullReferenceTypes/src/Org.OpenAPITools/Model/Fruit.cs b/samples/client/petstore/csharp/generichost/net8/NullReferenceTypes/src/Org.OpenAPITools/Model/Fruit.cs
index ec0062ba20d3..ba772455def9 100644
--- a/samples/client/petstore/csharp/generichost/net8/NullReferenceTypes/src/Org.OpenAPITools/Model/Fruit.cs
+++ b/samples/client/petstore/csharp/generichost/net8/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 = new AppleJsonConverter();
+ appleJsonConverter.WriteProperties(writer, fruit.Apple, jsonSerializerOptions);
+ }
+
+ if (fruit.Banana != null)
+ {
+ BananaJsonConverter bananaJsonConverter = new BananaJsonConverter();
+ bananaJsonConverter.WriteProperties(writer, fruit.Banana, jsonSerializerOptions);
+ }
WriteProperties(writer, fruit, jsonSerializerOptions);
writer.WriteEndObject();
diff --git a/samples/client/petstore/csharp/generichost/net8/NullReferenceTypes/src/Org.OpenAPITools/Model/FruitReq.cs b/samples/client/petstore/csharp/generichost/net8/NullReferenceTypes/src/Org.OpenAPITools/Model/FruitReq.cs
index af1802aab1a9..c2a5225419ac 100644
--- a/samples/client/petstore/csharp/generichost/net8/NullReferenceTypes/src/Org.OpenAPITools/Model/FruitReq.cs
+++ b/samples/client/petstore/csharp/generichost/net8/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 = new AppleReqJsonConverter();
+ appleReqJsonConverter.WriteProperties(writer, fruitReq.AppleReq, jsonSerializerOptions);
+ }
+
+ if (fruitReq.BananaReq != null)
+ {
+ BananaReqJsonConverter bananaReqJsonConverter = new BananaReqJsonConverter();
+ bananaReqJsonConverter.WriteProperties(writer, fruitReq.BananaReq, jsonSerializerOptions);
+ }
WriteProperties(writer, fruitReq, jsonSerializerOptions);
writer.WriteEndObject();
diff --git a/samples/client/petstore/csharp/generichost/net8/NullReferenceTypes/src/Org.OpenAPITools/Model/MixedOneOfContent.cs b/samples/client/petstore/csharp/generichost/net8/NullReferenceTypes/src/Org.OpenAPITools/Model/MixedOneOfContent.cs
index bac36e3cbe70..a796fe7b94fd 100644
--- a/samples/client/petstore/csharp/generichost/net8/NullReferenceTypes/src/Org.OpenAPITools/Model/MixedOneOfContent.cs
+++ b/samples/client/petstore/csharp/generichost/net8/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 = new MixedSubIdJsonConverter();
+ mixedSubIdJsonConverter.WriteProperties(writer, mixedOneOfContent.MixedSubId, jsonSerializerOptions);
+ }
WriteProperties(writer, mixedOneOfContent, jsonSerializerOptions);
writer.WriteEndObject();
diff --git a/samples/client/petstore/csharp/generichost/net8/NullReferenceTypes/src/Org.OpenAPITools/Model/OneOfString.cs b/samples/client/petstore/csharp/generichost/net8/NullReferenceTypes/src/Org.OpenAPITools/Model/OneOfString.cs
index e03117058c32..50b6a7869b9f 100644
--- a/samples/client/petstore/csharp/generichost/net8/NullReferenceTypes/src/Org.OpenAPITools/Model/OneOfString.cs
+++ b/samples/client/petstore/csharp/generichost/net8/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/net8/NullReferenceTypes/src/Org.OpenAPITools/Model/PolymorphicProperty.cs b/samples/client/petstore/csharp/generichost/net8/NullReferenceTypes/src/Org.OpenAPITools/Model/PolymorphicProperty.cs
index d33ed7654562..6aeb2e63b84d 100644
--- a/samples/client/petstore/csharp/generichost/net8/NullReferenceTypes/src/Org.OpenAPITools/Model/PolymorphicProperty.cs
+++ b/samples/client/petstore/csharp/generichost/net8/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/net8/OneOf/src/Org.OpenAPITools/Model/Fruit.cs b/samples/client/petstore/csharp/generichost/net8/OneOf/src/Org.OpenAPITools/Model/Fruit.cs
index 1a4743015087..976e6e8a01cb 100644
--- a/samples/client/petstore/csharp/generichost/net8/OneOf/src/Org.OpenAPITools/Model/Fruit.cs
+++ b/samples/client/petstore/csharp/generichost/net8/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 = new AppleJsonConverter();
+ appleJsonConverter.WriteProperties(writer, fruit.Apple, jsonSerializerOptions);
+ }
+
+ if (fruit.Banana != null)
+ {
+ BananaJsonConverter bananaJsonConverter = new BananaJsonConverter();
+ bananaJsonConverter.WriteProperties(writer, fruit.Banana, jsonSerializerOptions);
+ }
+
+ if (fruit.Orange != null)
+ {
+ OrangeJsonConverter orangeJsonConverter = new OrangeJsonConverter();
+ orangeJsonConverter.WriteProperties(writer, fruit.Orange, jsonSerializerOptions);
+ }
WriteProperties(writer, fruit, jsonSerializerOptions);
writer.WriteEndObject();
diff --git a/samples/client/petstore/csharp/generichost/net8/Petstore/src/Org.OpenAPITools/Model/Fruit.cs b/samples/client/petstore/csharp/generichost/net8/Petstore/src/Org.OpenAPITools/Model/Fruit.cs
index ca703d27f96c..9b43300d7cca 100644
--- a/samples/client/petstore/csharp/generichost/net8/Petstore/src/Org.OpenAPITools/Model/Fruit.cs
+++ b/samples/client/petstore/csharp/generichost/net8/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 = new AppleJsonConverter();
+ appleJsonConverter.WriteProperties(writer, fruit.Apple, jsonSerializerOptions);
+ }
+
+ if (fruit.Banana != null)
+ {
+ BananaJsonConverter bananaJsonConverter = new BananaJsonConverter();
+ bananaJsonConverter.WriteProperties(writer, fruit.Banana, jsonSerializerOptions);
+ }
WriteProperties(writer, fruit, jsonSerializerOptions);
writer.WriteEndObject();
diff --git a/samples/client/petstore/csharp/generichost/net8/Petstore/src/Org.OpenAPITools/Model/FruitReq.cs b/samples/client/petstore/csharp/generichost/net8/Petstore/src/Org.OpenAPITools/Model/FruitReq.cs
index 440fbefb11ac..fe68f4dd4ac4 100644
--- a/samples/client/petstore/csharp/generichost/net8/Petstore/src/Org.OpenAPITools/Model/FruitReq.cs
+++ b/samples/client/petstore/csharp/generichost/net8/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 = new AppleReqJsonConverter();
+ appleReqJsonConverter.WriteProperties(writer, fruitReq.AppleReq, jsonSerializerOptions);
+ }
+
+ if (fruitReq.BananaReq != null)
+ {
+ BananaReqJsonConverter bananaReqJsonConverter = new BananaReqJsonConverter();
+ bananaReqJsonConverter.WriteProperties(writer, fruitReq.BananaReq, jsonSerializerOptions);
+ }
WriteProperties(writer, fruitReq, jsonSerializerOptions);
writer.WriteEndObject();
diff --git a/samples/client/petstore/csharp/generichost/net8/Petstore/src/Org.OpenAPITools/Model/MixedOneOfContent.cs b/samples/client/petstore/csharp/generichost/net8/Petstore/src/Org.OpenAPITools/Model/MixedOneOfContent.cs
index 88d0a9a352de..3b5f93fcfb81 100644
--- a/samples/client/petstore/csharp/generichost/net8/Petstore/src/Org.OpenAPITools/Model/MixedOneOfContent.cs
+++ b/samples/client/petstore/csharp/generichost/net8/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 = new MixedSubIdJsonConverter();
+ mixedSubIdJsonConverter.WriteProperties(writer, mixedOneOfContent.MixedSubId, jsonSerializerOptions);
+ }
WriteProperties(writer, mixedOneOfContent, jsonSerializerOptions);
writer.WriteEndObject();
diff --git a/samples/client/petstore/csharp/generichost/net8/Petstore/src/Org.OpenAPITools/Model/OneOfString.cs b/samples/client/petstore/csharp/generichost/net8/Petstore/src/Org.OpenAPITools/Model/OneOfString.cs
index af0ceaa278b0..b5b0a324b1eb 100644
--- a/samples/client/petstore/csharp/generichost/net8/Petstore/src/Org.OpenAPITools/Model/OneOfString.cs
+++ b/samples/client/petstore/csharp/generichost/net8/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/net8/Petstore/src/Org.OpenAPITools/Model/PolymorphicProperty.cs b/samples/client/petstore/csharp/generichost/net8/Petstore/src/Org.OpenAPITools/Model/PolymorphicProperty.cs
index befe6e02ec3a..c7ef5eda6387 100644
--- a/samples/client/petstore/csharp/generichost/net8/Petstore/src/Org.OpenAPITools/Model/PolymorphicProperty.cs
+++ b/samples/client/petstore/csharp/generichost/net8/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/SourceGeneration/src/Org.OpenAPITools/Model/Fruit.cs b/samples/client/petstore/csharp/generichost/net8/SourceGeneration/src/Org.OpenAPITools/Model/Fruit.cs
index 9bad6c70417c..c05675c78ab3 100644
--- a/samples/client/petstore/csharp/generichost/net8/SourceGeneration/src/Org.OpenAPITools/Model/Fruit.cs
+++ b/samples/client/petstore/csharp/generichost/net8/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 = new AppleJsonConverter();
+ appleJsonConverter.WriteProperties(writer, fruit.Apple, jsonSerializerOptions);
+ }
+
+ if (fruit.Banana != null)
+ {
+ BananaJsonConverter bananaJsonConverter = new BananaJsonConverter();
+ bananaJsonConverter.WriteProperties(writer, fruit.Banana, jsonSerializerOptions);
+ }
WriteProperties(writer, fruit, jsonSerializerOptions);
writer.WriteEndObject();
diff --git a/samples/client/petstore/csharp/generichost/net8/SourceGeneration/src/Org.OpenAPITools/Model/FruitReq.cs b/samples/client/petstore/csharp/generichost/net8/SourceGeneration/src/Org.OpenAPITools/Model/FruitReq.cs
index ed5e1e35c028..0421f1ac82da 100644
--- a/samples/client/petstore/csharp/generichost/net8/SourceGeneration/src/Org.OpenAPITools/Model/FruitReq.cs
+++ b/samples/client/petstore/csharp/generichost/net8/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 = new AppleReqJsonConverter();
+ appleReqJsonConverter.WriteProperties(writer, fruitReq.AppleReq, jsonSerializerOptions);
+ }
+
+ if (fruitReq.BananaReq != null)
+ {
+ BananaReqJsonConverter bananaReqJsonConverter = new BananaReqJsonConverter();
+ bananaReqJsonConverter.WriteProperties(writer, fruitReq.BananaReq, jsonSerializerOptions);
+ }
WriteProperties(writer, fruitReq, jsonSerializerOptions);
writer.WriteEndObject();
diff --git a/samples/client/petstore/csharp/generichost/net8/SourceGeneration/src/Org.OpenAPITools/Model/MixedOneOfContent.cs b/samples/client/petstore/csharp/generichost/net8/SourceGeneration/src/Org.OpenAPITools/Model/MixedOneOfContent.cs
index ca6ca27187dd..904686e89fec 100644
--- a/samples/client/petstore/csharp/generichost/net8/SourceGeneration/src/Org.OpenAPITools/Model/MixedOneOfContent.cs
+++ b/samples/client/petstore/csharp/generichost/net8/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 = new MixedSubIdJsonConverter();
+ mixedSubIdJsonConverter.WriteProperties(writer, mixedOneOfContent.MixedSubId, jsonSerializerOptions);
+ }
WriteProperties(writer, mixedOneOfContent, jsonSerializerOptions);
writer.WriteEndObject();
diff --git a/samples/client/petstore/csharp/generichost/net8/SourceGeneration/src/Org.OpenAPITools/Model/OneOfString.cs b/samples/client/petstore/csharp/generichost/net8/SourceGeneration/src/Org.OpenAPITools/Model/OneOfString.cs
index 4a46f52ead3a..df1341c55fed 100644
--- a/samples/client/petstore/csharp/generichost/net8/SourceGeneration/src/Org.OpenAPITools/Model/OneOfString.cs
+++ b/samples/client/petstore/csharp/generichost/net8/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/net8/SourceGeneration/src/Org.OpenAPITools/Model/PolymorphicProperty.cs b/samples/client/petstore/csharp/generichost/net8/SourceGeneration/src/Org.OpenAPITools/Model/PolymorphicProperty.cs
index d3e959b95a67..114391721fd3 100644
--- a/samples/client/petstore/csharp/generichost/net8/SourceGeneration/src/Org.OpenAPITools/Model/PolymorphicProperty.cs
+++ b/samples/client/petstore/csharp/generichost/net8/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/net9/FormModels/src/Org.OpenAPITools/Model/Fruit.cs b/samples/client/petstore/csharp/generichost/net9/FormModels/src/Org.OpenAPITools/Model/Fruit.cs
index ca703d27f96c..9b43300d7cca 100644
--- a/samples/client/petstore/csharp/generichost/net9/FormModels/src/Org.OpenAPITools/Model/Fruit.cs
+++ b/samples/client/petstore/csharp/generichost/net9/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 = new AppleJsonConverter();
+ appleJsonConverter.WriteProperties(writer, fruit.Apple, jsonSerializerOptions);
+ }
+
+ if (fruit.Banana != null)
+ {
+ BananaJsonConverter bananaJsonConverter = new BananaJsonConverter();
+ bananaJsonConverter.WriteProperties(writer, fruit.Banana, jsonSerializerOptions);
+ }
WriteProperties(writer, fruit, jsonSerializerOptions);
writer.WriteEndObject();
diff --git a/samples/client/petstore/csharp/generichost/net9/FormModels/src/Org.OpenAPITools/Model/FruitReq.cs b/samples/client/petstore/csharp/generichost/net9/FormModels/src/Org.OpenAPITools/Model/FruitReq.cs
index 440fbefb11ac..fe68f4dd4ac4 100644
--- a/samples/client/petstore/csharp/generichost/net9/FormModels/src/Org.OpenAPITools/Model/FruitReq.cs
+++ b/samples/client/petstore/csharp/generichost/net9/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 = new AppleReqJsonConverter();
+ appleReqJsonConverter.WriteProperties(writer, fruitReq.AppleReq, jsonSerializerOptions);
+ }
+
+ if (fruitReq.BananaReq != null)
+ {
+ BananaReqJsonConverter bananaReqJsonConverter = new BananaReqJsonConverter();
+ bananaReqJsonConverter.WriteProperties(writer, fruitReq.BananaReq, jsonSerializerOptions);
+ }
WriteProperties(writer, fruitReq, jsonSerializerOptions);
writer.WriteEndObject();
diff --git a/samples/client/petstore/csharp/generichost/net9/FormModels/src/Org.OpenAPITools/Model/MixedOneOfContent.cs b/samples/client/petstore/csharp/generichost/net9/FormModels/src/Org.OpenAPITools/Model/MixedOneOfContent.cs
index 88d0a9a352de..3b5f93fcfb81 100644
--- a/samples/client/petstore/csharp/generichost/net9/FormModels/src/Org.OpenAPITools/Model/MixedOneOfContent.cs
+++ b/samples/client/petstore/csharp/generichost/net9/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 = new MixedSubIdJsonConverter();
+ mixedSubIdJsonConverter.WriteProperties(writer, mixedOneOfContent.MixedSubId, jsonSerializerOptions);
+ }
WriteProperties(writer, mixedOneOfContent, jsonSerializerOptions);
writer.WriteEndObject();
diff --git a/samples/client/petstore/csharp/generichost/net9/FormModels/src/Org.OpenAPITools/Model/OneOfString.cs b/samples/client/petstore/csharp/generichost/net9/FormModels/src/Org.OpenAPITools/Model/OneOfString.cs
index af0ceaa278b0..b5b0a324b1eb 100644
--- a/samples/client/petstore/csharp/generichost/net9/FormModels/src/Org.OpenAPITools/Model/OneOfString.cs
+++ b/samples/client/petstore/csharp/generichost/net9/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/net9/FormModels/src/Org.OpenAPITools/Model/PolymorphicProperty.cs b/samples/client/petstore/csharp/generichost/net9/FormModels/src/Org.OpenAPITools/Model/PolymorphicProperty.cs
index befe6e02ec3a..c7ef5eda6387 100644
--- a/samples/client/petstore/csharp/generichost/net9/FormModels/src/Org.OpenAPITools/Model/PolymorphicProperty.cs
+++ b/samples/client/petstore/csharp/generichost/net9/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/net9/NullReferenceTypes/src/Org.OpenAPITools/Model/Fruit.cs b/samples/client/petstore/csharp/generichost/net9/NullReferenceTypes/src/Org.OpenAPITools/Model/Fruit.cs
index ec0062ba20d3..ba772455def9 100644
--- a/samples/client/petstore/csharp/generichost/net9/NullReferenceTypes/src/Org.OpenAPITools/Model/Fruit.cs
+++ b/samples/client/petstore/csharp/generichost/net9/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 = new AppleJsonConverter();
+ appleJsonConverter.WriteProperties(writer, fruit.Apple, jsonSerializerOptions);
+ }
+
+ if (fruit.Banana != null)
+ {
+ BananaJsonConverter bananaJsonConverter = new BananaJsonConverter();
+ bananaJsonConverter.WriteProperties(writer, fruit.Banana, jsonSerializerOptions);
+ }
WriteProperties(writer, fruit, jsonSerializerOptions);
writer.WriteEndObject();
diff --git a/samples/client/petstore/csharp/generichost/net9/NullReferenceTypes/src/Org.OpenAPITools/Model/FruitReq.cs b/samples/client/petstore/csharp/generichost/net9/NullReferenceTypes/src/Org.OpenAPITools/Model/FruitReq.cs
index af1802aab1a9..c2a5225419ac 100644
--- a/samples/client/petstore/csharp/generichost/net9/NullReferenceTypes/src/Org.OpenAPITools/Model/FruitReq.cs
+++ b/samples/client/petstore/csharp/generichost/net9/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 = new AppleReqJsonConverter();
+ appleReqJsonConverter.WriteProperties(writer, fruitReq.AppleReq, jsonSerializerOptions);
+ }
+
+ if (fruitReq.BananaReq != null)
+ {
+ BananaReqJsonConverter bananaReqJsonConverter = new BananaReqJsonConverter();
+ bananaReqJsonConverter.WriteProperties(writer, fruitReq.BananaReq, jsonSerializerOptions);
+ }
WriteProperties(writer, fruitReq, jsonSerializerOptions);
writer.WriteEndObject();
diff --git a/samples/client/petstore/csharp/generichost/net9/NullReferenceTypes/src/Org.OpenAPITools/Model/MixedOneOfContent.cs b/samples/client/petstore/csharp/generichost/net9/NullReferenceTypes/src/Org.OpenAPITools/Model/MixedOneOfContent.cs
index bac36e3cbe70..a796fe7b94fd 100644
--- a/samples/client/petstore/csharp/generichost/net9/NullReferenceTypes/src/Org.OpenAPITools/Model/MixedOneOfContent.cs
+++ b/samples/client/petstore/csharp/generichost/net9/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 = new MixedSubIdJsonConverter();
+ mixedSubIdJsonConverter.WriteProperties(writer, mixedOneOfContent.MixedSubId, jsonSerializerOptions);
+ }
WriteProperties(writer, mixedOneOfContent, jsonSerializerOptions);
writer.WriteEndObject();
diff --git a/samples/client/petstore/csharp/generichost/net9/NullReferenceTypes/src/Org.OpenAPITools/Model/OneOfString.cs b/samples/client/petstore/csharp/generichost/net9/NullReferenceTypes/src/Org.OpenAPITools/Model/OneOfString.cs
index e03117058c32..50b6a7869b9f 100644
--- a/samples/client/petstore/csharp/generichost/net9/NullReferenceTypes/src/Org.OpenAPITools/Model/OneOfString.cs
+++ b/samples/client/petstore/csharp/generichost/net9/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/net9/NullReferenceTypes/src/Org.OpenAPITools/Model/PolymorphicProperty.cs b/samples/client/petstore/csharp/generichost/net9/NullReferenceTypes/src/Org.OpenAPITools/Model/PolymorphicProperty.cs
index d33ed7654562..6aeb2e63b84d 100644
--- a/samples/client/petstore/csharp/generichost/net9/NullReferenceTypes/src/Org.OpenAPITools/Model/PolymorphicProperty.cs
+++ b/samples/client/petstore/csharp/generichost/net9/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/net9/OneOf/src/Org.OpenAPITools/Model/Fruit.cs b/samples/client/petstore/csharp/generichost/net9/OneOf/src/Org.OpenAPITools/Model/Fruit.cs
index 1a4743015087..976e6e8a01cb 100644
--- a/samples/client/petstore/csharp/generichost/net9/OneOf/src/Org.OpenAPITools/Model/Fruit.cs
+++ b/samples/client/petstore/csharp/generichost/net9/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 = new AppleJsonConverter();
+ appleJsonConverter.WriteProperties(writer, fruit.Apple, jsonSerializerOptions);
+ }
+
+ if (fruit.Banana != null)
+ {
+ BananaJsonConverter bananaJsonConverter = new BananaJsonConverter();
+ bananaJsonConverter.WriteProperties(writer, fruit.Banana, jsonSerializerOptions);
+ }
+
+ if (fruit.Orange != null)
+ {
+ OrangeJsonConverter orangeJsonConverter = new OrangeJsonConverter();
+ orangeJsonConverter.WriteProperties(writer, fruit.Orange, jsonSerializerOptions);
+ }
WriteProperties(writer, fruit, jsonSerializerOptions);
writer.WriteEndObject();
diff --git a/samples/client/petstore/csharp/generichost/net9/Petstore/src/Org.OpenAPITools/Model/Fruit.cs b/samples/client/petstore/csharp/generichost/net9/Petstore/src/Org.OpenAPITools/Model/Fruit.cs
index ca703d27f96c..9b43300d7cca 100644
--- a/samples/client/petstore/csharp/generichost/net9/Petstore/src/Org.OpenAPITools/Model/Fruit.cs
+++ b/samples/client/petstore/csharp/generichost/net9/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 = new AppleJsonConverter();
+ appleJsonConverter.WriteProperties(writer, fruit.Apple, jsonSerializerOptions);
+ }
+
+ if (fruit.Banana != null)
+ {
+ BananaJsonConverter bananaJsonConverter = new BananaJsonConverter();
+ bananaJsonConverter.WriteProperties(writer, fruit.Banana, jsonSerializerOptions);
+ }
WriteProperties(writer, fruit, jsonSerializerOptions);
writer.WriteEndObject();
diff --git a/samples/client/petstore/csharp/generichost/net9/Petstore/src/Org.OpenAPITools/Model/FruitReq.cs b/samples/client/petstore/csharp/generichost/net9/Petstore/src/Org.OpenAPITools/Model/FruitReq.cs
index 440fbefb11ac..fe68f4dd4ac4 100644
--- a/samples/client/petstore/csharp/generichost/net9/Petstore/src/Org.OpenAPITools/Model/FruitReq.cs
+++ b/samples/client/petstore/csharp/generichost/net9/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 = new AppleReqJsonConverter();
+ appleReqJsonConverter.WriteProperties(writer, fruitReq.AppleReq, jsonSerializerOptions);
+ }
+
+ if (fruitReq.BananaReq != null)
+ {
+ BananaReqJsonConverter bananaReqJsonConverter = new BananaReqJsonConverter();
+ bananaReqJsonConverter.WriteProperties(writer, fruitReq.BananaReq, jsonSerializerOptions);
+ }
WriteProperties(writer, fruitReq, jsonSerializerOptions);
writer.WriteEndObject();
diff --git a/samples/client/petstore/csharp/generichost/net9/Petstore/src/Org.OpenAPITools/Model/MixedOneOfContent.cs b/samples/client/petstore/csharp/generichost/net9/Petstore/src/Org.OpenAPITools/Model/MixedOneOfContent.cs
index 88d0a9a352de..3b5f93fcfb81 100644
--- a/samples/client/petstore/csharp/generichost/net9/Petstore/src/Org.OpenAPITools/Model/MixedOneOfContent.cs
+++ b/samples/client/petstore/csharp/generichost/net9/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 = new MixedSubIdJsonConverter();
+ mixedSubIdJsonConverter.WriteProperties(writer, mixedOneOfContent.MixedSubId, jsonSerializerOptions);
+ }
WriteProperties(writer, mixedOneOfContent, jsonSerializerOptions);
writer.WriteEndObject();
diff --git a/samples/client/petstore/csharp/generichost/net9/Petstore/src/Org.OpenAPITools/Model/OneOfString.cs b/samples/client/petstore/csharp/generichost/net9/Petstore/src/Org.OpenAPITools/Model/OneOfString.cs
index af0ceaa278b0..b5b0a324b1eb 100644
--- a/samples/client/petstore/csharp/generichost/net9/Petstore/src/Org.OpenAPITools/Model/OneOfString.cs
+++ b/samples/client/petstore/csharp/generichost/net9/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/net9/Petstore/src/Org.OpenAPITools/Model/PolymorphicProperty.cs b/samples/client/petstore/csharp/generichost/net9/Petstore/src/Org.OpenAPITools/Model/PolymorphicProperty.cs
index befe6e02ec3a..c7ef5eda6387 100644
--- a/samples/client/petstore/csharp/generichost/net9/Petstore/src/Org.OpenAPITools/Model/PolymorphicProperty.cs
+++ b/samples/client/petstore/csharp/generichost/net9/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/net9/SourceGeneration/src/Org.OpenAPITools/Model/Fruit.cs b/samples/client/petstore/csharp/generichost/net9/SourceGeneration/src/Org.OpenAPITools/Model/Fruit.cs
index 9bad6c70417c..c05675c78ab3 100644
--- a/samples/client/petstore/csharp/generichost/net9/SourceGeneration/src/Org.OpenAPITools/Model/Fruit.cs
+++ b/samples/client/petstore/csharp/generichost/net9/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 = new AppleJsonConverter();
+ appleJsonConverter.WriteProperties(writer, fruit.Apple, jsonSerializerOptions);
+ }
+
+ if (fruit.Banana != null)
+ {
+ BananaJsonConverter bananaJsonConverter = new BananaJsonConverter();
+ bananaJsonConverter.WriteProperties(writer, fruit.Banana, jsonSerializerOptions);
+ }
WriteProperties(writer, fruit, jsonSerializerOptions);
writer.WriteEndObject();
diff --git a/samples/client/petstore/csharp/generichost/net9/SourceGeneration/src/Org.OpenAPITools/Model/FruitReq.cs b/samples/client/petstore/csharp/generichost/net9/SourceGeneration/src/Org.OpenAPITools/Model/FruitReq.cs
index ed5e1e35c028..0421f1ac82da 100644
--- a/samples/client/petstore/csharp/generichost/net9/SourceGeneration/src/Org.OpenAPITools/Model/FruitReq.cs
+++ b/samples/client/petstore/csharp/generichost/net9/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 = new AppleReqJsonConverter();
+ appleReqJsonConverter.WriteProperties(writer, fruitReq.AppleReq, jsonSerializerOptions);
+ }
+
+ if (fruitReq.BananaReq != null)
+ {
+ BananaReqJsonConverter bananaReqJsonConverter = new BananaReqJsonConverter();
+ bananaReqJsonConverter.WriteProperties(writer, fruitReq.BananaReq, jsonSerializerOptions);
+ }
WriteProperties(writer, fruitReq, jsonSerializerOptions);
writer.WriteEndObject();
diff --git a/samples/client/petstore/csharp/generichost/net9/SourceGeneration/src/Org.OpenAPITools/Model/MixedOneOfContent.cs b/samples/client/petstore/csharp/generichost/net9/SourceGeneration/src/Org.OpenAPITools/Model/MixedOneOfContent.cs
index ca6ca27187dd..904686e89fec 100644
--- a/samples/client/petstore/csharp/generichost/net9/SourceGeneration/src/Org.OpenAPITools/Model/MixedOneOfContent.cs
+++ b/samples/client/petstore/csharp/generichost/net9/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 = new MixedSubIdJsonConverter();
+ mixedSubIdJsonConverter.WriteProperties(writer, mixedOneOfContent.MixedSubId, jsonSerializerOptions);
+ }
WriteProperties(writer, mixedOneOfContent, jsonSerializerOptions);
writer.WriteEndObject();
diff --git a/samples/client/petstore/csharp/generichost/net9/SourceGeneration/src/Org.OpenAPITools/Model/OneOfString.cs b/samples/client/petstore/csharp/generichost/net9/SourceGeneration/src/Org.OpenAPITools/Model/OneOfString.cs
index 4a46f52ead3a..df1341c55fed 100644
--- a/samples/client/petstore/csharp/generichost/net9/SourceGeneration/src/Org.OpenAPITools/Model/OneOfString.cs
+++ b/samples/client/petstore/csharp/generichost/net9/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/net9/SourceGeneration/src/Org.OpenAPITools/Model/PolymorphicProperty.cs b/samples/client/petstore/csharp/generichost/net9/SourceGeneration/src/Org.OpenAPITools/Model/PolymorphicProperty.cs
index d3e959b95a67..114391721fd3 100644
--- a/samples/client/petstore/csharp/generichost/net9/SourceGeneration/src/Org.OpenAPITools/Model/PolymorphicProperty.cs
+++ b/samples/client/petstore/csharp/generichost/net9/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/standard2.0/Petstore/src/Org.OpenAPITools/Model/Fruit.cs b/samples/client/petstore/csharp/generichost/standard2.0/Petstore/src/Org.OpenAPITools/Model/Fruit.cs
index ba5d85932b34..8df4f460677c 100644
--- a/samples/client/petstore/csharp/generichost/standard2.0/Petstore/src/Org.OpenAPITools/Model/Fruit.cs
+++ b/samples/client/petstore/csharp/generichost/standard2.0/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 = new AppleJsonConverter();
+ appleJsonConverter.WriteProperties(writer, fruit.Apple, jsonSerializerOptions);
+ }
+
+ if (fruit.Banana != null)
+ {
+ BananaJsonConverter bananaJsonConverter = new BananaJsonConverter();
+ bananaJsonConverter.WriteProperties(writer, fruit.Banana, jsonSerializerOptions);
+ }
WriteProperties(writer, fruit, jsonSerializerOptions);
writer.WriteEndObject();
diff --git a/samples/client/petstore/csharp/generichost/standard2.0/Petstore/src/Org.OpenAPITools/Model/FruitReq.cs b/samples/client/petstore/csharp/generichost/standard2.0/Petstore/src/Org.OpenAPITools/Model/FruitReq.cs
index 440fbefb11ac..fe68f4dd4ac4 100644
--- a/samples/client/petstore/csharp/generichost/standard2.0/Petstore/src/Org.OpenAPITools/Model/FruitReq.cs
+++ b/samples/client/petstore/csharp/generichost/standard2.0/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 = new AppleReqJsonConverter();
+ appleReqJsonConverter.WriteProperties(writer, fruitReq.AppleReq, jsonSerializerOptions);
+ }
+
+ if (fruitReq.BananaReq != null)
+ {
+ BananaReqJsonConverter bananaReqJsonConverter = new BananaReqJsonConverter();
+ bananaReqJsonConverter.WriteProperties(writer, fruitReq.BananaReq, jsonSerializerOptions);
+ }
WriteProperties(writer, fruitReq, jsonSerializerOptions);
writer.WriteEndObject();
diff --git a/samples/client/petstore/csharp/generichost/standard2.0/Petstore/src/Org.OpenAPITools/Model/MixedOneOfContent.cs b/samples/client/petstore/csharp/generichost/standard2.0/Petstore/src/Org.OpenAPITools/Model/MixedOneOfContent.cs
index 88d0a9a352de..3b5f93fcfb81 100644
--- a/samples/client/petstore/csharp/generichost/standard2.0/Petstore/src/Org.OpenAPITools/Model/MixedOneOfContent.cs
+++ b/samples/client/petstore/csharp/generichost/standard2.0/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 = new MixedSubIdJsonConverter();
+ mixedSubIdJsonConverter.WriteProperties(writer, mixedOneOfContent.MixedSubId, jsonSerializerOptions);
+ }
WriteProperties(writer, mixedOneOfContent, jsonSerializerOptions);
writer.WriteEndObject();
diff --git a/samples/client/petstore/csharp/generichost/standard2.0/Petstore/src/Org.OpenAPITools/Model/OneOfString.cs b/samples/client/petstore/csharp/generichost/standard2.0/Petstore/src/Org.OpenAPITools/Model/OneOfString.cs
index af0ceaa278b0..b5b0a324b1eb 100644
--- a/samples/client/petstore/csharp/generichost/standard2.0/Petstore/src/Org.OpenAPITools/Model/OneOfString.cs
+++ b/samples/client/petstore/csharp/generichost/standard2.0/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/standard2.0/Petstore/src/Org.OpenAPITools/Model/PolymorphicProperty.cs b/samples/client/petstore/csharp/generichost/standard2.0/Petstore/src/Org.OpenAPITools/Model/PolymorphicProperty.cs
index befe6e02ec3a..c7ef5eda6387 100644
--- a/samples/client/petstore/csharp/generichost/standard2.0/Petstore/src/Org.OpenAPITools/Model/PolymorphicProperty.cs
+++ b/samples/client/petstore/csharp/generichost/standard2.0/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);