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;