diff --git a/modules/openapi-generator/src/main/resources/csharp-netcore/ApiClient.mustache b/modules/openapi-generator/src/main/resources/csharp-netcore/ApiClient.mustache index 3c0aacbacb5c..605d68ffc57c 100644 --- a/modules/openapi-generator/src/main/resources/csharp-netcore/ApiClient.mustache +++ b/modules/openapi-generator/src/main/resources/csharp-netcore/ApiClient.mustache @@ -114,7 +114,7 @@ namespace {{packageName}}.Client if (type == typeof(String) || type.Name.StartsWith("System.Nullable")) // return primitive type { - return ClientUtils.ConvertType(response.Content, type); + return Convert.ChangeType(response.Content, type); } // at this point, it must be a model (json) diff --git a/modules/openapi-generator/src/main/resources/csharp-netcore/ApiException.mustache b/modules/openapi-generator/src/main/resources/csharp-netcore/ApiException.mustache index 138284907c6a..32c59a1b3d58 100644 --- a/modules/openapi-generator/src/main/resources/csharp-netcore/ApiException.mustache +++ b/modules/openapi-generator/src/main/resources/csharp-netcore/ApiException.mustache @@ -19,7 +19,7 @@ namespace {{packageName}}.Client /// Gets or sets the error content (body json object) /// /// The error content (Http response body). - public {{#supportsAsync}}dynamic{{/supportsAsync}}{{^supportsAsync}}object{{/supportsAsync}} ErrorContent { get; private set; } + public object ErrorContent { get; private set; } /// /// Initializes a new instance of the class. @@ -42,7 +42,7 @@ namespace {{packageName}}.Client /// HTTP status code. /// Error message. /// Error content. - public ApiException(int errorCode, string message, {{#supportsAsync}}dynamic{{/supportsAsync}}{{^supportsAsync}}object{{/supportsAsync}} errorContent = null) : base(message) + public ApiException(int errorCode, string message, object errorContent = null) : base(message) { this.ErrorCode = errorCode; this.ErrorContent = errorContent; diff --git a/modules/openapi-generator/src/main/resources/csharp-netcore/ClientUtils.mustache b/modules/openapi-generator/src/main/resources/csharp-netcore/ClientUtils.mustache index 8601b2e9c34e..b407a4edd08d 100755 --- a/modules/openapi-generator/src/main/resources/csharp-netcore/ClientUtils.mustache +++ b/modules/openapi-generator/src/main/resources/csharp-netcore/ClientUtils.mustache @@ -159,22 +159,6 @@ namespace {{packageName}}.Client } } - /// - /// Dynamically cast the object into target type. - /// - /// Object to be casted - /// Target type - /// Casted object - {{#supportsAsync}} - public static dynamic ConvertType(dynamic fromObject, Type toObject) - {{/supportsAsync}} - {{^supportsAsync}} - public static object ConvertType(T fromObject, Type toObject) where T : class - {{/supportsAsync}} - { - return Convert.ChangeType(fromObject, toObject); - } - /// /// Select the Content-Type header's value from the given content-type array: /// if JSON type exists in the given array, use it; diff --git a/modules/openapi-generator/src/main/resources/csharp-netcore/Project.mustache b/modules/openapi-generator/src/main/resources/csharp-netcore/Project.mustache index bc7ff4020320..e4c9ed9e095a 100644 --- a/modules/openapi-generator/src/main/resources/csharp-netcore/Project.mustache +++ b/modules/openapi-generator/src/main/resources/csharp-netcore/Project.mustache @@ -36,10 +36,14 @@ + {{#useCompareNetObjects}} + {{/useCompareNetObjects}} + {{#validatable}} + {{/validatable}} diff --git a/modules/openapi-generator/src/main/resources/csharp-netcore/README.mustache b/modules/openapi-generator/src/main/resources/csharp-netcore/README.mustache index 8ef566b7f35b..666e7933c0a9 100644 --- a/modules/openapi-generator/src/main/resources/csharp-netcore/README.mustache +++ b/modules/openapi-generator/src/main/resources/csharp-netcore/README.mustache @@ -30,16 +30,24 @@ This C# SDK is automatically generated by the [OpenAPI Generator](https://openap - [RestSharp](https://www.nuget.org/packages/RestSharp) - 106.10.1 or later - [Json.NET](https://www.nuget.org/packages/Newtonsoft.Json/) - 12.0.1 or later - [JsonSubTypes](https://www.nuget.org/packages/JsonSubTypes/) - 1.5.2 or later +{{#useCompareNetObjects}} - [CompareNETObjects](https://www.nuget.org/packages/CompareNETObjects) - 4.57.0 or later +{{/useCompareNetObjects}} +{{#validatable}} - [System.ComponentModel.Annotations](https://www.nuget.org/packages/System.ComponentModel.Annotations) - 4.5.0 or later +{{/validatable}} The DLLs included in the package may not be the latest version. We recommend using [NuGet](https://docs.nuget.org/consume/installing-nuget) to obtain the latest version of the packages: ``` Install-Package RestSharp Install-Package Newtonsoft.Json Install-Package JsonSubTypes +{{#validatable}} Install-Package System.ComponentModel.Annotations +{{/validatable}} +{{#useCompareNetObjects}} Install-Package CompareNETObjects +{{/useCompareNetObjects}} ``` NOTE: RestSharp versions greater than 105.1.0 have a bug which causes file uploads to fail. See [RestSharp#742](https://github.com/restsharp/RestSharp/issues/742) diff --git a/modules/openapi-generator/src/main/resources/csharp-netcore/netcore_project.mustache b/modules/openapi-generator/src/main/resources/csharp-netcore/netcore_project.mustache index 0346837de672..61427915ad97 100644 --- a/modules/openapi-generator/src/main/resources/csharp-netcore/netcore_project.mustache +++ b/modules/openapi-generator/src/main/resources/csharp-netcore/netcore_project.mustache @@ -22,11 +22,15 @@ + {{#useCompareNetObjects}} + {{/useCompareNetObjects}} + {{#validatable}} + {{/validatable}} diff --git a/modules/openapi-generator/src/main/resources/csharp-netcore/nuspec.mustache b/modules/openapi-generator/src/main/resources/csharp-netcore/nuspec.mustache index d0e2cc20a062..9753c1cbd559 100644 --- a/modules/openapi-generator/src/main/resources/csharp-netcore/nuspec.mustache +++ b/modules/openapi-generator/src/main/resources/csharp-netcore/nuspec.mustache @@ -30,12 +30,15 @@ - - + + {{#useCompareNetObjects}} + {{/useCompareNetObjects}} + {{#validatable}} + {{/validatable}} diff --git a/modules/openapi-generator/src/main/resources/csharp-netcore/packages.config.mustache b/modules/openapi-generator/src/main/resources/csharp-netcore/packages.config.mustache index 9ecc3466e624..7f4587c5e58e 100644 --- a/modules/openapi-generator/src/main/resources/csharp-netcore/packages.config.mustache +++ b/modules/openapi-generator/src/main/resources/csharp-netcore/packages.config.mustache @@ -5,6 +5,8 @@ {{/useCompareNetObjects}} - + + {{#validatable}} + {{/validatable}} diff --git a/modules/openapi-generator/src/main/resources/csharp-netcore/project.json.mustache b/modules/openapi-generator/src/main/resources/csharp-netcore/project.json.mustache index b33a9aefd6c9..62dbd6a9e412 100644 --- a/modules/openapi-generator/src/main/resources/csharp-netcore/project.json.mustache +++ b/modules/openapi-generator/src/main/resources/csharp-netcore/project.json.mustache @@ -5,6 +5,9 @@ {{#useCompareNetObjects}} "CompareNETObjects": "4.57.0", {{/useCompareNetObjects}} + {{#validatable}} + "System.ComponentModel.Annotations": "4.5.0", + {{/validatable}} "JsonSubTypes": "1.5.2", "RestSharp": "106.10.1" }, diff --git a/samples/client/petstore/csharp-netcore/OpenAPIClient/src/Org.OpenAPITools/Client/ApiClient.cs b/samples/client/petstore/csharp-netcore/OpenAPIClient/src/Org.OpenAPITools/Client/ApiClient.cs index b34b41b53214..19106bf27789 100644 --- a/samples/client/petstore/csharp-netcore/OpenAPIClient/src/Org.OpenAPITools/Client/ApiClient.cs +++ b/samples/client/petstore/csharp-netcore/OpenAPIClient/src/Org.OpenAPITools/Client/ApiClient.cs @@ -118,7 +118,7 @@ namespace Org.OpenAPITools.Client if (type == typeof(String) || type.Name.StartsWith("System.Nullable")) // return primitive type { - return ClientUtils.ConvertType(response.Content, type); + return Convert.ChangeType(response.Content, type); } // at this point, it must be a model (json) diff --git a/samples/client/petstore/csharp-netcore/OpenAPIClient/src/Org.OpenAPITools/Client/ApiException.cs b/samples/client/petstore/csharp-netcore/OpenAPIClient/src/Org.OpenAPITools/Client/ApiException.cs index 970215dd0087..8f02a03a56ae 100644 --- a/samples/client/petstore/csharp-netcore/OpenAPIClient/src/Org.OpenAPITools/Client/ApiException.cs +++ b/samples/client/petstore/csharp-netcore/OpenAPIClient/src/Org.OpenAPITools/Client/ApiException.cs @@ -28,7 +28,7 @@ namespace Org.OpenAPITools.Client /// Gets or sets the error content (body json object) /// /// The error content (Http response body). - public dynamic ErrorContent { get; private set; } + public object ErrorContent { get; private set; } /// /// Initializes a new instance of the class. @@ -51,7 +51,7 @@ namespace Org.OpenAPITools.Client /// HTTP status code. /// Error message. /// Error content. - public ApiException(int errorCode, string message, dynamic errorContent = null) : base(message) + public ApiException(int errorCode, string message, object errorContent = null) : base(message) { this.ErrorCode = errorCode; this.ErrorContent = errorContent; diff --git a/samples/client/petstore/csharp-netcore/OpenAPIClient/src/Org.OpenAPITools/Client/ClientUtils.cs b/samples/client/petstore/csharp-netcore/OpenAPIClient/src/Org.OpenAPITools/Client/ClientUtils.cs index 764ea009ef93..9bd20d5f5768 100644 --- a/samples/client/petstore/csharp-netcore/OpenAPIClient/src/Org.OpenAPITools/Client/ClientUtils.cs +++ b/samples/client/petstore/csharp-netcore/OpenAPIClient/src/Org.OpenAPITools/Client/ClientUtils.cs @@ -164,17 +164,6 @@ namespace Org.OpenAPITools.Client } } - /// - /// Dynamically cast the object into target type. - /// - /// Object to be casted - /// Target type - /// Casted object - public static dynamic ConvertType(dynamic fromObject, Type toObject) - { - return Convert.ChangeType(fromObject, toObject); - } - /// /// Select the Content-Type header's value from the given content-type array: /// if JSON type exists in the given array, use it; diff --git a/samples/client/petstore/csharp-netcore/OpenAPIClient/src/Org.OpenAPITools/project.json b/samples/client/petstore/csharp-netcore/OpenAPIClient/src/Org.OpenAPITools/project.json index d66033d858db..fdaea921baa8 100644 --- a/samples/client/petstore/csharp-netcore/OpenAPIClient/src/Org.OpenAPITools/project.json +++ b/samples/client/petstore/csharp-netcore/OpenAPIClient/src/Org.OpenAPITools/project.json @@ -3,6 +3,7 @@ "dependencies": { "Newtonsoft.Json": "12.0.1", "CompareNETObjects": "4.57.0", + "System.ComponentModel.Annotations": "4.5.0", "JsonSubTypes": "1.5.2", "RestSharp": "106.10.1" }, diff --git a/samples/client/petstore/csharp-netcore/OpenAPIClientCore/src/Org.OpenAPITools/Client/ApiClient.cs b/samples/client/petstore/csharp-netcore/OpenAPIClientCore/src/Org.OpenAPITools/Client/ApiClient.cs index 96f84b5a6ee5..fa16398d8bec 100644 --- a/samples/client/petstore/csharp-netcore/OpenAPIClientCore/src/Org.OpenAPITools/Client/ApiClient.cs +++ b/samples/client/petstore/csharp-netcore/OpenAPIClientCore/src/Org.OpenAPITools/Client/ApiClient.cs @@ -119,7 +119,7 @@ namespace Org.OpenAPITools.Client if (type == typeof(String) || type.Name.StartsWith("System.Nullable")) // return primitive type { - return ClientUtils.ConvertType(response.Content, type); + return Convert.ChangeType(response.Content, type); } // at this point, it must be a model (json) diff --git a/samples/client/petstore/csharp-netcore/OpenAPIClientCore/src/Org.OpenAPITools/Client/ApiException.cs b/samples/client/petstore/csharp-netcore/OpenAPIClientCore/src/Org.OpenAPITools/Client/ApiException.cs index 970215dd0087..8f02a03a56ae 100644 --- a/samples/client/petstore/csharp-netcore/OpenAPIClientCore/src/Org.OpenAPITools/Client/ApiException.cs +++ b/samples/client/petstore/csharp-netcore/OpenAPIClientCore/src/Org.OpenAPITools/Client/ApiException.cs @@ -28,7 +28,7 @@ namespace Org.OpenAPITools.Client /// Gets or sets the error content (body json object) /// /// The error content (Http response body). - public dynamic ErrorContent { get; private set; } + public object ErrorContent { get; private set; } /// /// Initializes a new instance of the class. @@ -51,7 +51,7 @@ namespace Org.OpenAPITools.Client /// HTTP status code. /// Error message. /// Error content. - public ApiException(int errorCode, string message, dynamic errorContent = null) : base(message) + public ApiException(int errorCode, string message, object errorContent = null) : base(message) { this.ErrorCode = errorCode; this.ErrorContent = errorContent; diff --git a/samples/client/petstore/csharp-netcore/OpenAPIClientCore/src/Org.OpenAPITools/Client/ClientUtils.cs b/samples/client/petstore/csharp-netcore/OpenAPIClientCore/src/Org.OpenAPITools/Client/ClientUtils.cs index 764ea009ef93..9bd20d5f5768 100644 --- a/samples/client/petstore/csharp-netcore/OpenAPIClientCore/src/Org.OpenAPITools/Client/ClientUtils.cs +++ b/samples/client/petstore/csharp-netcore/OpenAPIClientCore/src/Org.OpenAPITools/Client/ClientUtils.cs @@ -164,17 +164,6 @@ namespace Org.OpenAPITools.Client } } - /// - /// Dynamically cast the object into target type. - /// - /// Object to be casted - /// Target type - /// Casted object - public static dynamic ConvertType(dynamic fromObject, Type toObject) - { - return Convert.ChangeType(fromObject, toObject); - } - /// /// Select the Content-Type header's value from the given content-type array: /// if JSON type exists in the given array, use it;