diff --git a/modules/openapi-generator/src/main/java/org/openapitools/codegen/DefaultCodegen.java b/modules/openapi-generator/src/main/java/org/openapitools/codegen/DefaultCodegen.java index bbeb2e8f87f..e8312cb6780 100644 --- a/modules/openapi-generator/src/main/java/org/openapitools/codegen/DefaultCodegen.java +++ b/modules/openapi-generator/src/main/java/org/openapitools/codegen/DefaultCodegen.java @@ -239,6 +239,7 @@ public class DefaultCodegen implements CodegenConfig { parent.setChildren(new ArrayList()); } parent.getChildren().add(cm); + parent.hasChildren = true; if (parent.getDiscriminator() == null) { parent = allModels.get(parent.getParent()); } else { diff --git a/modules/openapi-generator/src/main/resources/csharp/modelGeneric.mustache b/modules/openapi-generator/src/main/resources/csharp/modelGeneric.mustache index 89d35b73ec0..c547d137e18 100644 --- a/modules/openapi-generator/src/main/resources/csharp/modelGeneric.mustache +++ b/modules/openapi-generator/src/main/resources/csharp/modelGeneric.mustache @@ -217,7 +217,7 @@ this.{{name}} = {{#lambda.camelcase_param}}{{name}}{{/lambda.camelcase_param}}; {{/generatePropertyChanged}} {{#validatable}} -{{#discriminator}} +{{#hasChildren}} /// /// To validate all properties of the instance /// @@ -235,8 +235,8 @@ this.{{name}} = {{#lambda.camelcase_param}}{{name}}{{/lambda.camelcase_param}}; /// Validation Result protected IEnumerable BaseValidate(ValidationContext validationContext) { -{{/discriminator}} -{{^discriminator}} +{{/hasChildren}} +{{^hasChildren}} /// /// To validate all properties of the instance /// @@ -244,11 +244,11 @@ this.{{name}} = {{#lambda.camelcase_param}}{{name}}{{/lambda.camelcase_param}}; /// Validation Result IEnumerable IValidatableObject.Validate(ValidationContext validationContext) { -{{/discriminator}} +{{/hasChildren}} {{#parent}} {{^isArrayModel}} {{^isMapModel}} - foreach(var x in BaseValidate(validationContext)) yield return x; + foreach(var x in base.BaseValidate(validationContext)) yield return x; {{/isMapModel}} {{/isArrayModel}} {{/parent}} diff --git a/samples/client/petstore/csharp/OpenAPIClient/src/Org.OpenAPITools/Model/Cat.cs b/samples/client/petstore/csharp/OpenAPIClient/src/Org.OpenAPITools/Model/Cat.cs index b9444fb3607..1504638f6f2 100644 --- a/samples/client/petstore/csharp/OpenAPIClient/src/Org.OpenAPITools/Model/Cat.cs +++ b/samples/client/petstore/csharp/OpenAPIClient/src/Org.OpenAPITools/Model/Cat.cs @@ -123,7 +123,7 @@ namespace Org.OpenAPITools.Model /// Validation Result IEnumerable IValidatableObject.Validate(ValidationContext validationContext) { - foreach(var x in BaseValidate(validationContext)) yield return x; + foreach(var x in base.BaseValidate(validationContext)) yield return x; yield break; } } diff --git a/samples/client/petstore/csharp/OpenAPIClient/src/Org.OpenAPITools/Model/Dog.cs b/samples/client/petstore/csharp/OpenAPIClient/src/Org.OpenAPITools/Model/Dog.cs index 90c181c11b6..ecd67f40b6e 100644 --- a/samples/client/petstore/csharp/OpenAPIClient/src/Org.OpenAPITools/Model/Dog.cs +++ b/samples/client/petstore/csharp/OpenAPIClient/src/Org.OpenAPITools/Model/Dog.cs @@ -123,7 +123,7 @@ namespace Org.OpenAPITools.Model /// Validation Result IEnumerable IValidatableObject.Validate(ValidationContext validationContext) { - foreach(var x in BaseValidate(validationContext)) yield return x; + foreach(var x in base.BaseValidate(validationContext)) yield return x; yield break; } }