diff --git a/samples/client/petstore/csharp/SwaggerClient/.swagger-codegen/VERSION b/samples/client/petstore/csharp/SwaggerClient/.swagger-codegen/VERSION
new file mode 100644
index 00000000000..f9f7450d135
--- /dev/null
+++ b/samples/client/petstore/csharp/SwaggerClient/.swagger-codegen/VERSION
@@ -0,0 +1 @@
+2.3.0-SNAPSHOT
\ No newline at end of file
diff --git a/samples/client/petstore/csharp/SwaggerClient/README.md b/samples/client/petstore/csharp/SwaggerClient/README.md
index d2f2aa2168e..344f7afe240 100644
--- a/samples/client/petstore/csharp/SwaggerClient/README.md
+++ b/samples/client/petstore/csharp/SwaggerClient/README.md
@@ -133,10 +133,8 @@ Class | Method | HTTP request | Description
- [Model.ArrayOfNumberOnly](docs/ArrayOfNumberOnly.md)
- [Model.ArrayTest](docs/ArrayTest.md)
- [Model.Capitalization](docs/Capitalization.md)
- - [Model.Cat](docs/Cat.md)
- [Model.Category](docs/Category.md)
- [Model.ClassModel](docs/ClassModel.md)
- - [Model.Dog](docs/Dog.md)
- [Model.EnumArrays](docs/EnumArrays.md)
- [Model.EnumClass](docs/EnumClass.md)
- [Model.EnumTest](docs/EnumTest.md)
@@ -161,6 +159,8 @@ Class | Method | HTTP request | Description
- [Model.SpecialModelName](docs/SpecialModelName.md)
- [Model.Tag](docs/Tag.md)
- [Model.User](docs/User.md)
+ - [Model.Cat](docs/Cat.md)
+ - [Model.Dog](docs/Dog.md)
diff --git a/samples/client/petstore/csharp/SwaggerClientNetStandard/.swagger-codegen/VERSION b/samples/client/petstore/csharp/SwaggerClientNetStandard/.swagger-codegen/VERSION
new file mode 100644
index 00000000000..f9f7450d135
--- /dev/null
+++ b/samples/client/petstore/csharp/SwaggerClientNetStandard/.swagger-codegen/VERSION
@@ -0,0 +1 @@
+2.3.0-SNAPSHOT
\ No newline at end of file
diff --git a/samples/client/petstore/csharp/SwaggerClientNetStandard/README.md b/samples/client/petstore/csharp/SwaggerClientNetStandard/README.md
index 52ed64f0948..996980b4c74 100644
--- a/samples/client/petstore/csharp/SwaggerClientNetStandard/README.md
+++ b/samples/client/petstore/csharp/SwaggerClientNetStandard/README.md
@@ -113,10 +113,8 @@ Class | Method | HTTP request | Description
- [Model.ArrayOfNumberOnly](docs/ArrayOfNumberOnly.md)
- [Model.ArrayTest](docs/ArrayTest.md)
- [Model.Capitalization](docs/Capitalization.md)
- - [Model.Cat](docs/Cat.md)
- [Model.Category](docs/Category.md)
- [Model.ClassModel](docs/ClassModel.md)
- - [Model.Dog](docs/Dog.md)
- [Model.EnumArrays](docs/EnumArrays.md)
- [Model.EnumClass](docs/EnumClass.md)
- [Model.EnumTest](docs/EnumTest.md)
@@ -141,6 +139,8 @@ Class | Method | HTTP request | Description
- [Model.SpecialModelName](docs/SpecialModelName.md)
- [Model.Tag](docs/Tag.md)
- [Model.User](docs/User.md)
+ - [Model.Cat](docs/Cat.md)
+ - [Model.Dog](docs/Dog.md)
diff --git a/samples/client/petstore/csharp/SwaggerClientNetStandard/docs/Fake_classname_tags123Api.md b/samples/client/petstore/csharp/SwaggerClientNetStandard/docs/Fake_classname_tags123Api.md
new file mode 100644
index 00000000000..eba49c5a842
--- /dev/null
+++ b/samples/client/petstore/csharp/SwaggerClientNetStandard/docs/Fake_classname_tags123Api.md
@@ -0,0 +1,69 @@
+# IO.Swagger.Api.Fake_classname_tags123Api
+
+All URIs are relative to *http://petstore.swagger.io:80/v2*
+
+Method | HTTP request | Description
+------------- | ------------- | -------------
+[**TestClassname**](Fake_classname_tags123Api.md#testclassname) | **PATCH** /fake_classname_test | To test class name in snake case
+
+
+
+# **TestClassname**
+> ModelClient TestClassname (ModelClient body)
+
+To test class name in snake case
+
+### Example
+```csharp
+using System;
+using System.Diagnostics;
+using IO.Swagger.Api;
+using IO.Swagger.Client;
+using IO.Swagger.Model;
+
+namespace Example
+{
+ public class TestClassnameExample
+ {
+ public void main()
+ {
+
+ var apiInstance = new Fake_classname_tags123Api();
+ var body = new ModelClient(); // ModelClient | client model
+
+ try
+ {
+ // To test class name in snake case
+ ModelClient result = apiInstance.TestClassname(body);
+ Debug.WriteLine(result);
+ }
+ catch (Exception e)
+ {
+ Debug.Print("Exception when calling Fake_classname_tags123Api.TestClassname: " + e.Message );
+ }
+ }
+ }
+}
+```
+
+### Parameters
+
+Name | Type | Description | Notes
+------------- | ------------- | ------------- | -------------
+ **body** | [**ModelClient**](ModelClient.md)| client model |
+
+### Return type
+
+[**ModelClient**](ModelClient.md)
+
+### Authorization
+
+No authorization required
+
+### HTTP request headers
+
+ - **Content-Type**: application/json
+ - **Accept**: application/json
+
+[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md)
+
diff --git a/samples/client/petstore/csharp/SwaggerClientNetStandard/docs/OuterBoolean.md b/samples/client/petstore/csharp/SwaggerClientNetStandard/docs/OuterBoolean.md
new file mode 100644
index 00000000000..84845b35e54
--- /dev/null
+++ b/samples/client/petstore/csharp/SwaggerClientNetStandard/docs/OuterBoolean.md
@@ -0,0 +1,8 @@
+# IO.Swagger.Model.OuterBoolean
+## Properties
+
+Name | Type | Description | Notes
+------------ | ------------- | ------------- | -------------
+
+[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md)
+
diff --git a/samples/client/petstore/csharp/SwaggerClientNetStandard/docs/OuterComposite.md b/samples/client/petstore/csharp/SwaggerClientNetStandard/docs/OuterComposite.md
new file mode 100644
index 00000000000..41fae66f136
--- /dev/null
+++ b/samples/client/petstore/csharp/SwaggerClientNetStandard/docs/OuterComposite.md
@@ -0,0 +1,11 @@
+# IO.Swagger.Model.OuterComposite
+## Properties
+
+Name | Type | Description | Notes
+------------ | ------------- | ------------- | -------------
+**MyNumber** | [**OuterNumber**](OuterNumber.md) | | [optional]
+**MyString** | [**OuterString**](OuterString.md) | | [optional]
+**MyBoolean** | [**OuterBoolean**](OuterBoolean.md) | | [optional]
+
+[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md)
+
diff --git a/samples/client/petstore/csharp/SwaggerClientNetStandard/docs/OuterNumber.md b/samples/client/petstore/csharp/SwaggerClientNetStandard/docs/OuterNumber.md
new file mode 100644
index 00000000000..7c88274d6ee
--- /dev/null
+++ b/samples/client/petstore/csharp/SwaggerClientNetStandard/docs/OuterNumber.md
@@ -0,0 +1,8 @@
+# IO.Swagger.Model.OuterNumber
+## Properties
+
+Name | Type | Description | Notes
+------------ | ------------- | ------------- | -------------
+
+[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md)
+
diff --git a/samples/client/petstore/csharp/SwaggerClientNetStandard/docs/OuterString.md b/samples/client/petstore/csharp/SwaggerClientNetStandard/docs/OuterString.md
new file mode 100644
index 00000000000..524423a5dab
--- /dev/null
+++ b/samples/client/petstore/csharp/SwaggerClientNetStandard/docs/OuterString.md
@@ -0,0 +1,8 @@
+# IO.Swagger.Model.OuterString
+## Properties
+
+Name | Type | Description | Notes
+------------ | ------------- | ------------- | -------------
+
+[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md)
+
diff --git a/samples/client/petstore/csharp/SwaggerClientNetStandard/src/IO.Swagger/Api/Fake_classname_tags123Api.cs b/samples/client/petstore/csharp/SwaggerClientNetStandard/src/IO.Swagger/Api/Fake_classname_tags123Api.cs
new file mode 100644
index 00000000000..07256da1e52
--- /dev/null
+++ b/samples/client/petstore/csharp/SwaggerClientNetStandard/src/IO.Swagger/Api/Fake_classname_tags123Api.cs
@@ -0,0 +1,333 @@
+/*
+ * Swagger Petstore
+ *
+ * This spec is mainly for testing Petstore server and contains fake endpoints, models. Please do not use this for any other purpose. Special characters: \" \\
+ *
+ * OpenAPI spec version: 1.0.0
+ * Contact: apiteam@swagger.io
+ * Generated by: https://github.com/swagger-api/swagger-codegen.git
+ */
+
+using System;
+using System.Collections.Generic;
+using System.Collections.ObjectModel;
+using System.Linq;
+using RestSharp.Portable;
+using IO.Swagger.Client;
+using IO.Swagger.Model;
+
+namespace IO.Swagger.Api
+{
+ ///
+ /// Represents a collection of functions to interact with the API endpoints
+ ///
+ public interface IFake_classname_tags123Api : IApiAccessor
+ {
+ #region Synchronous Operations
+ ///
+ /// To test class name in snake case
+ ///
+ ///
+ ///
+ ///
+ /// Thrown when fails to make API call
+ /// client model
+ /// ModelClient
+ ModelClient TestClassname (ModelClient body);
+
+ ///
+ /// To test class name in snake case
+ ///
+ ///
+ ///
+ ///
+ /// Thrown when fails to make API call
+ /// client model
+ /// ApiResponse of ModelClient
+ ApiResponse TestClassnameWithHttpInfo (ModelClient body);
+ #endregion Synchronous Operations
+ #region Asynchronous Operations
+ ///
+ /// To test class name in snake case
+ ///
+ ///
+ ///
+ ///
+ /// Thrown when fails to make API call
+ /// client model
+ /// Task of ModelClient
+ System.Threading.Tasks.Task TestClassnameAsync (ModelClient body);
+
+ ///
+ /// To test class name in snake case
+ ///
+ ///
+ ///
+ ///
+ /// Thrown when fails to make API call
+ /// client model
+ /// Task of ApiResponse (ModelClient)
+ System.Threading.Tasks.Task> TestClassnameAsyncWithHttpInfo (ModelClient body);
+ #endregion Asynchronous Operations
+ }
+
+ ///
+ /// Represents a collection of functions to interact with the API endpoints
+ ///
+ public partial class Fake_classname_tags123Api : IFake_classname_tags123Api
+ {
+ private IO.Swagger.Client.ExceptionFactory _exceptionFactory = (name, response) => null;
+
+ ///
+ /// Initializes a new instance of the class.
+ ///
+ ///
+ public Fake_classname_tags123Api(String basePath)
+ {
+ this.Configuration = new Configuration(new ApiClient(basePath));
+
+ ExceptionFactory = IO.Swagger.Client.Configuration.DefaultExceptionFactory;
+
+ // ensure API client has configuration ready
+ if (Configuration.ApiClient.Configuration == null)
+ {
+ this.Configuration.ApiClient.Configuration = this.Configuration;
+ }
+ }
+
+ ///
+ /// Initializes a new instance of the class
+ /// using Configuration object
+ ///
+ /// An instance of Configuration
+ ///
+ public Fake_classname_tags123Api(Configuration configuration = null)
+ {
+ if (configuration == null) // use the default one in Configuration
+ this.Configuration = Configuration.Default;
+ else
+ this.Configuration = configuration;
+
+ ExceptionFactory = IO.Swagger.Client.Configuration.DefaultExceptionFactory;
+
+ // ensure API client has configuration ready
+ if (Configuration.ApiClient.Configuration == null)
+ {
+ this.Configuration.ApiClient.Configuration = this.Configuration;
+ }
+ }
+
+ ///
+ /// Gets the base path of the API client.
+ ///
+ /// The base path
+ public String GetBasePath()
+ {
+ return this.Configuration.ApiClient.RestClient.BaseUrl.ToString();
+ }
+
+ ///
+ /// Sets the base path of the API client.
+ ///
+ /// The base path
+ [Obsolete("SetBasePath is deprecated, please do 'Configuration.ApiClient = new ApiClient(\"http://new-path\")' instead.")]
+ public void SetBasePath(String basePath)
+ {
+ // do nothing
+ }
+
+ ///
+ /// Gets or sets the configuration object
+ ///
+ /// An instance of the Configuration
+ public Configuration Configuration {get; set;}
+
+ ///
+ /// Provides a factory method hook for the creation of exceptions.
+ ///
+ public IO.Swagger.Client.ExceptionFactory ExceptionFactory
+ {
+ get
+ {
+ if (_exceptionFactory != null && _exceptionFactory.GetInvocationList().Length > 1)
+ {
+ throw new InvalidOperationException("Multicast delegate for ExceptionFactory is unsupported.");
+ }
+ return _exceptionFactory;
+ }
+ set { _exceptionFactory = value; }
+ }
+
+ ///
+ /// Gets the default header.
+ ///
+ /// Dictionary of HTTP header
+ [Obsolete("DefaultHeader is deprecated, please use Configuration.DefaultHeader instead.")]
+ public Dictionary DefaultHeader()
+ {
+ return this.Configuration.DefaultHeader;
+ }
+
+ ///
+ /// Add default header.
+ ///
+ /// Header field name.
+ /// Header field value.
+ ///
+ [Obsolete("AddDefaultHeader is deprecated, please use Configuration.AddDefaultHeader instead.")]
+ public void AddDefaultHeader(string key, string value)
+ {
+ this.Configuration.AddDefaultHeader(key, value);
+ }
+
+ ///
+ /// To test class name in snake case
+ ///
+ /// Thrown when fails to make API call
+ /// client model
+ /// ModelClient
+ public ModelClient TestClassname (ModelClient body)
+ {
+ ApiResponse localVarResponse = TestClassnameWithHttpInfo(body);
+ return localVarResponse.Data;
+ }
+
+ ///
+ /// To test class name in snake case
+ ///
+ /// Thrown when fails to make API call
+ /// client model
+ /// ApiResponse of ModelClient
+ public ApiResponse< ModelClient > TestClassnameWithHttpInfo (ModelClient body)
+ {
+ // verify the required parameter 'body' is set
+ if (body == null)
+ throw new ApiException(400, "Missing required parameter 'body' when calling Fake_classname_tags123Api->TestClassname");
+
+ var localVarPath = "./fake_classname_test";
+ var localVarPathParams = new Dictionary();
+ var localVarQueryParams = new List>();
+ var localVarHeaderParams = new Dictionary(Configuration.DefaultHeader);
+ var localVarFormParams = new Dictionary();
+ var localVarFileParams = new Dictionary();
+ Object localVarPostBody = null;
+
+ // to determine the Content-Type header
+ String[] localVarHttpContentTypes = new String[] {
+ "application/json"
+ };
+ String localVarHttpContentType = Configuration.ApiClient.SelectHeaderContentType(localVarHttpContentTypes);
+
+ // to determine the Accept header
+ String[] localVarHttpHeaderAccepts = new String[] {
+ "application/json"
+ };
+ String localVarHttpHeaderAccept = Configuration.ApiClient.SelectHeaderAccept(localVarHttpHeaderAccepts);
+ if (localVarHttpHeaderAccept != null)
+ localVarHeaderParams.Add("Accept", localVarHttpHeaderAccept);
+
+ if (body != null && body.GetType() != typeof(byte[]))
+ {
+ localVarPostBody = Configuration.ApiClient.Serialize(body); // http body (model) parameter
+ }
+ else
+ {
+ localVarPostBody = body; // byte array
+ }
+
+
+ // make the HTTP request
+ IRestResponse localVarResponse = (IRestResponse) Configuration.ApiClient.CallApi(localVarPath,
+ Method.PATCH, localVarQueryParams, localVarPostBody, localVarHeaderParams, localVarFormParams, localVarFileParams,
+ localVarPathParams, localVarHttpContentType);
+
+ int localVarStatusCode = (int) localVarResponse.StatusCode;
+
+ if (ExceptionFactory != null)
+ {
+ Exception exception = ExceptionFactory("TestClassname", localVarResponse);
+ if (exception != null) throw exception;
+ }
+
+ return new ApiResponse(localVarStatusCode,
+ localVarResponse.Headers.ToDictionary(x => x.Key, x => x.Value.ToString()),
+ (ModelClient) Configuration.ApiClient.Deserialize(localVarResponse, typeof(ModelClient)));
+ }
+
+ ///
+ /// To test class name in snake case
+ ///
+ /// Thrown when fails to make API call
+ /// client model
+ /// Task of ModelClient
+ public async System.Threading.Tasks.Task TestClassnameAsync (ModelClient body)
+ {
+ ApiResponse localVarResponse = await TestClassnameAsyncWithHttpInfo(body);
+ return localVarResponse.Data;
+
+ }
+
+ ///
+ /// To test class name in snake case
+ ///
+ /// Thrown when fails to make API call
+ /// client model
+ /// Task of ApiResponse (ModelClient)
+ public async System.Threading.Tasks.Task> TestClassnameAsyncWithHttpInfo (ModelClient body)
+ {
+ // verify the required parameter 'body' is set
+ if (body == null)
+ throw new ApiException(400, "Missing required parameter 'body' when calling Fake_classname_tags123Api->TestClassname");
+
+ var localVarPath = "./fake_classname_test";
+ var localVarPathParams = new Dictionary();
+ var localVarQueryParams = new List>();
+ var localVarHeaderParams = new Dictionary(Configuration.DefaultHeader);
+ var localVarFormParams = new Dictionary();
+ var localVarFileParams = new Dictionary();
+ Object localVarPostBody = null;
+
+ // to determine the Content-Type header
+ String[] localVarHttpContentTypes = new String[] {
+ "application/json"
+ };
+ String localVarHttpContentType = Configuration.ApiClient.SelectHeaderContentType(localVarHttpContentTypes);
+
+ // to determine the Accept header
+ String[] localVarHttpHeaderAccepts = new String[] {
+ "application/json"
+ };
+ String localVarHttpHeaderAccept = Configuration.ApiClient.SelectHeaderAccept(localVarHttpHeaderAccepts);
+ if (localVarHttpHeaderAccept != null)
+ localVarHeaderParams.Add("Accept", localVarHttpHeaderAccept);
+
+ if (body != null && body.GetType() != typeof(byte[]))
+ {
+ localVarPostBody = Configuration.ApiClient.Serialize(body); // http body (model) parameter
+ }
+ else
+ {
+ localVarPostBody = body; // byte array
+ }
+
+
+ // make the HTTP request
+ IRestResponse localVarResponse = (IRestResponse) await Configuration.ApiClient.CallApiAsync(localVarPath,
+ Method.PATCH, localVarQueryParams, localVarPostBody, localVarHeaderParams, localVarFormParams, localVarFileParams,
+ localVarPathParams, localVarHttpContentType);
+
+ int localVarStatusCode = (int) localVarResponse.StatusCode;
+
+ if (ExceptionFactory != null)
+ {
+ Exception exception = ExceptionFactory("TestClassname", localVarResponse);
+ if (exception != null) throw exception;
+ }
+
+ return new ApiResponse(localVarStatusCode,
+ localVarResponse.Headers.ToDictionary(x => x.Key, x => x.Value.ToString()),
+ (ModelClient) Configuration.ApiClient.Deserialize(localVarResponse, typeof(ModelClient)));
+ }
+
+ }
+}
diff --git a/samples/client/petstore/csharp/SwaggerClientNetStandard/src/IO.Swagger/Model/OuterBoolean.cs b/samples/client/petstore/csharp/SwaggerClientNetStandard/src/IO.Swagger/Model/OuterBoolean.cs
new file mode 100644
index 00000000000..54f81745c24
--- /dev/null
+++ b/samples/client/petstore/csharp/SwaggerClientNetStandard/src/IO.Swagger/Model/OuterBoolean.cs
@@ -0,0 +1,100 @@
+/*
+ * Swagger Petstore
+ *
+ * This spec is mainly for testing Petstore server and contains fake endpoints, models. Please do not use this for any other purpose. Special characters: \" \\
+ *
+ * OpenAPI spec version: 1.0.0
+ * Contact: apiteam@swagger.io
+ * Generated by: https://github.com/swagger-api/swagger-codegen.git
+ */
+
+using System;
+using System.Linq;
+using System.IO;
+using System.Text;
+using System.Collections;
+using System.Collections.Generic;
+using System.Collections.ObjectModel;
+using System.Runtime.Serialization;
+using Newtonsoft.Json;
+using Newtonsoft.Json.Converters;
+
+namespace IO.Swagger.Model
+{
+ ///
+ /// OuterBoolean
+ ///
+ [DataContract]
+ public partial class OuterBoolean : IEquatable
+ {
+ ///
+ /// Initializes a new instance of the class.
+ ///
+ [JsonConstructorAttribute]
+ public OuterBoolean()
+ {
+ }
+
+ ///
+ /// Returns the string presentation of the object
+ ///
+ /// String presentation of the object
+ public override string ToString()
+ {
+ var sb = new StringBuilder();
+ sb.Append("class OuterBoolean {\n");
+ sb.Append("}\n");
+ return sb.ToString();
+ }
+
+ ///
+ /// Returns the JSON string presentation of the object
+ ///
+ /// JSON string presentation of the object
+ public string ToJson()
+ {
+ return JsonConvert.SerializeObject(this, Formatting.Indented);
+ }
+
+ ///
+ /// Returns true if objects are equal
+ ///
+ /// Object to be compared
+ /// Boolean
+ public override bool Equals(object obj)
+ {
+ // credit: http://stackoverflow.com/a/10454552/677735
+ return this.Equals(obj as OuterBoolean);
+ }
+
+ ///
+ /// Returns true if OuterBoolean instances are equal
+ ///
+ /// Instance of OuterBoolean to be compared
+ /// Boolean
+ public bool Equals(OuterBoolean other)
+ {
+ // credit: http://stackoverflow.com/a/10454552/677735
+ if (other == null)
+ return false;
+
+ return false;
+ }
+
+ ///
+ /// Gets the hash code
+ ///
+ /// Hash code
+ public override int GetHashCode()
+ {
+ // credit: http://stackoverflow.com/a/263416/677735
+ unchecked // Overflow is fine, just wrap
+ {
+ int hash = 41;
+ // Suitable nullity checks etc, of course :)
+ return hash;
+ }
+ }
+ }
+
+}
diff --git a/samples/client/petstore/csharp/SwaggerClientNetStandard/src/IO.Swagger/Model/OuterComposite.cs b/samples/client/petstore/csharp/SwaggerClientNetStandard/src/IO.Swagger/Model/OuterComposite.cs
new file mode 100644
index 00000000000..308c26d4f5c
--- /dev/null
+++ b/samples/client/petstore/csharp/SwaggerClientNetStandard/src/IO.Swagger/Model/OuterComposite.cs
@@ -0,0 +1,144 @@
+/*
+ * Swagger Petstore
+ *
+ * This spec is mainly for testing Petstore server and contains fake endpoints, models. Please do not use this for any other purpose. Special characters: \" \\
+ *
+ * OpenAPI spec version: 1.0.0
+ * Contact: apiteam@swagger.io
+ * Generated by: https://github.com/swagger-api/swagger-codegen.git
+ */
+
+using System;
+using System.Linq;
+using System.IO;
+using System.Text;
+using System.Collections;
+using System.Collections.Generic;
+using System.Collections.ObjectModel;
+using System.Runtime.Serialization;
+using Newtonsoft.Json;
+using Newtonsoft.Json.Converters;
+
+namespace IO.Swagger.Model
+{
+ ///
+ /// OuterComposite
+ ///
+ [DataContract]
+ public partial class OuterComposite : IEquatable
+ {
+ ///
+ /// Initializes a new instance of the class.
+ ///
+ /// MyNumber.
+ /// MyString.
+ /// MyBoolean.
+ public OuterComposite(OuterNumber MyNumber = default(OuterNumber), OuterString MyString = default(OuterString), OuterBoolean MyBoolean = default(OuterBoolean))
+ {
+ this.MyNumber = MyNumber;
+ this.MyString = MyString;
+ this.MyBoolean = MyBoolean;
+ }
+
+ ///
+ /// Gets or Sets MyNumber
+ ///
+ [DataMember(Name="my_number", EmitDefaultValue=false)]
+ public OuterNumber MyNumber { get; set; }
+ ///
+ /// Gets or Sets MyString
+ ///
+ [DataMember(Name="my_string", EmitDefaultValue=false)]
+ public OuterString MyString { get; set; }
+ ///
+ /// Gets or Sets MyBoolean
+ ///
+ [DataMember(Name="my_boolean", EmitDefaultValue=false)]
+ public OuterBoolean MyBoolean { get; set; }
+ ///
+ /// Returns the string presentation of the object
+ ///
+ /// String presentation of the object
+ public override string ToString()
+ {
+ var sb = new StringBuilder();
+ sb.Append("class OuterComposite {\n");
+ sb.Append(" MyNumber: ").Append(MyNumber).Append("\n");
+ sb.Append(" MyString: ").Append(MyString).Append("\n");
+ sb.Append(" MyBoolean: ").Append(MyBoolean).Append("\n");
+ sb.Append("}\n");
+ return sb.ToString();
+ }
+
+ ///
+ /// Returns the JSON string presentation of the object
+ ///
+ /// JSON string presentation of the object
+ public string ToJson()
+ {
+ return JsonConvert.SerializeObject(this, Formatting.Indented);
+ }
+
+ ///
+ /// Returns true if objects are equal
+ ///
+ /// Object to be compared
+ /// Boolean
+ public override bool Equals(object obj)
+ {
+ // credit: http://stackoverflow.com/a/10454552/677735
+ return this.Equals(obj as OuterComposite);
+ }
+
+ ///
+ /// Returns true if OuterComposite instances are equal
+ ///
+ /// Instance of OuterComposite to be compared
+ /// Boolean
+ public bool Equals(OuterComposite other)
+ {
+ // credit: http://stackoverflow.com/a/10454552/677735
+ if (other == null)
+ return false;
+
+ return
+ (
+ this.MyNumber == other.MyNumber ||
+ this.MyNumber != null &&
+ this.MyNumber.Equals(other.MyNumber)
+ ) &&
+ (
+ this.MyString == other.MyString ||
+ this.MyString != null &&
+ this.MyString.Equals(other.MyString)
+ ) &&
+ (
+ this.MyBoolean == other.MyBoolean ||
+ this.MyBoolean != null &&
+ this.MyBoolean.Equals(other.MyBoolean)
+ );
+ }
+
+ ///
+ /// Gets the hash code
+ ///
+ /// Hash code
+ public override int GetHashCode()
+ {
+ // credit: http://stackoverflow.com/a/263416/677735
+ unchecked // Overflow is fine, just wrap
+ {
+ int hash = 41;
+ // Suitable nullity checks etc, of course :)
+ if (this.MyNumber != null)
+ hash = hash * 59 + this.MyNumber.GetHashCode();
+ if (this.MyString != null)
+ hash = hash * 59 + this.MyString.GetHashCode();
+ if (this.MyBoolean != null)
+ hash = hash * 59 + this.MyBoolean.GetHashCode();
+ return hash;
+ }
+ }
+ }
+
+}
diff --git a/samples/client/petstore/csharp/SwaggerClientNetStandard/src/IO.Swagger/Model/OuterNumber.cs b/samples/client/petstore/csharp/SwaggerClientNetStandard/src/IO.Swagger/Model/OuterNumber.cs
new file mode 100644
index 00000000000..103fd4f69dd
--- /dev/null
+++ b/samples/client/petstore/csharp/SwaggerClientNetStandard/src/IO.Swagger/Model/OuterNumber.cs
@@ -0,0 +1,100 @@
+/*
+ * Swagger Petstore
+ *
+ * This spec is mainly for testing Petstore server and contains fake endpoints, models. Please do not use this for any other purpose. Special characters: \" \\
+ *
+ * OpenAPI spec version: 1.0.0
+ * Contact: apiteam@swagger.io
+ * Generated by: https://github.com/swagger-api/swagger-codegen.git
+ */
+
+using System;
+using System.Linq;
+using System.IO;
+using System.Text;
+using System.Collections;
+using System.Collections.Generic;
+using System.Collections.ObjectModel;
+using System.Runtime.Serialization;
+using Newtonsoft.Json;
+using Newtonsoft.Json.Converters;
+
+namespace IO.Swagger.Model
+{
+ ///
+ /// OuterNumber
+ ///
+ [DataContract]
+ public partial class OuterNumber : IEquatable
+ {
+ ///
+ /// Initializes a new instance of the class.
+ ///
+ [JsonConstructorAttribute]
+ public OuterNumber()
+ {
+ }
+
+ ///
+ /// Returns the string presentation of the object
+ ///
+ /// String presentation of the object
+ public override string ToString()
+ {
+ var sb = new StringBuilder();
+ sb.Append("class OuterNumber {\n");
+ sb.Append("}\n");
+ return sb.ToString();
+ }
+
+ ///
+ /// Returns the JSON string presentation of the object
+ ///
+ /// JSON string presentation of the object
+ public string ToJson()
+ {
+ return JsonConvert.SerializeObject(this, Formatting.Indented);
+ }
+
+ ///
+ /// Returns true if objects are equal
+ ///
+ /// Object to be compared
+ /// Boolean
+ public override bool Equals(object obj)
+ {
+ // credit: http://stackoverflow.com/a/10454552/677735
+ return this.Equals(obj as OuterNumber);
+ }
+
+ ///
+ /// Returns true if OuterNumber instances are equal
+ ///
+ /// Instance of OuterNumber to be compared
+ /// Boolean
+ public bool Equals(OuterNumber other)
+ {
+ // credit: http://stackoverflow.com/a/10454552/677735
+ if (other == null)
+ return false;
+
+ return false;
+ }
+
+ ///
+ /// Gets the hash code
+ ///
+ /// Hash code
+ public override int GetHashCode()
+ {
+ // credit: http://stackoverflow.com/a/263416/677735
+ unchecked // Overflow is fine, just wrap
+ {
+ int hash = 41;
+ // Suitable nullity checks etc, of course :)
+ return hash;
+ }
+ }
+ }
+
+}
diff --git a/samples/client/petstore/csharp/SwaggerClientNetStandard/src/IO.Swagger/Model/OuterString.cs b/samples/client/petstore/csharp/SwaggerClientNetStandard/src/IO.Swagger/Model/OuterString.cs
new file mode 100644
index 00000000000..327fe620b59
--- /dev/null
+++ b/samples/client/petstore/csharp/SwaggerClientNetStandard/src/IO.Swagger/Model/OuterString.cs
@@ -0,0 +1,100 @@
+/*
+ * Swagger Petstore
+ *
+ * This spec is mainly for testing Petstore server and contains fake endpoints, models. Please do not use this for any other purpose. Special characters: \" \\
+ *
+ * OpenAPI spec version: 1.0.0
+ * Contact: apiteam@swagger.io
+ * Generated by: https://github.com/swagger-api/swagger-codegen.git
+ */
+
+using System;
+using System.Linq;
+using System.IO;
+using System.Text;
+using System.Collections;
+using System.Collections.Generic;
+using System.Collections.ObjectModel;
+using System.Runtime.Serialization;
+using Newtonsoft.Json;
+using Newtonsoft.Json.Converters;
+
+namespace IO.Swagger.Model
+{
+ ///
+ /// OuterString
+ ///
+ [DataContract]
+ public partial class OuterString : IEquatable
+ {
+ ///
+ /// Initializes a new instance of the class.
+ ///
+ [JsonConstructorAttribute]
+ public OuterString()
+ {
+ }
+
+ ///
+ /// Returns the string presentation of the object
+ ///
+ /// String presentation of the object
+ public override string ToString()
+ {
+ var sb = new StringBuilder();
+ sb.Append("class OuterString {\n");
+ sb.Append("}\n");
+ return sb.ToString();
+ }
+
+ ///
+ /// Returns the JSON string presentation of the object
+ ///
+ /// JSON string presentation of the object
+ public string ToJson()
+ {
+ return JsonConvert.SerializeObject(this, Formatting.Indented);
+ }
+
+ ///
+ /// Returns true if objects are equal
+ ///
+ /// Object to be compared
+ /// Boolean
+ public override bool Equals(object obj)
+ {
+ // credit: http://stackoverflow.com/a/10454552/677735
+ return this.Equals(obj as OuterString);
+ }
+
+ ///
+ /// Returns true if OuterString instances are equal
+ ///
+ /// Instance of OuterString to be compared
+ /// Boolean
+ public bool Equals(OuterString other)
+ {
+ // credit: http://stackoverflow.com/a/10454552/677735
+ if (other == null)
+ return false;
+
+ return false;
+ }
+
+ ///
+ /// Gets the hash code
+ ///
+ /// Hash code
+ public override int GetHashCode()
+ {
+ // credit: http://stackoverflow.com/a/263416/677735
+ unchecked // Overflow is fine, just wrap
+ {
+ int hash = 41;
+ // Suitable nullity checks etc, of course :)
+ return hash;
+ }
+ }
+ }
+
+}
diff --git a/samples/client/petstore/csharp/SwaggerClientWithPropertyChanged/.swagger-codegen/VERSION b/samples/client/petstore/csharp/SwaggerClientWithPropertyChanged/.swagger-codegen/VERSION
new file mode 100644
index 00000000000..f9f7450d135
--- /dev/null
+++ b/samples/client/petstore/csharp/SwaggerClientWithPropertyChanged/.swagger-codegen/VERSION
@@ -0,0 +1 @@
+2.3.0-SNAPSHOT
\ No newline at end of file
diff --git a/samples/client/petstore/csharp/SwaggerClientWithPropertyChanged/README.md b/samples/client/petstore/csharp/SwaggerClientWithPropertyChanged/README.md
index d2f2aa2168e..344f7afe240 100644
--- a/samples/client/petstore/csharp/SwaggerClientWithPropertyChanged/README.md
+++ b/samples/client/petstore/csharp/SwaggerClientWithPropertyChanged/README.md
@@ -133,10 +133,8 @@ Class | Method | HTTP request | Description
- [Model.ArrayOfNumberOnly](docs/ArrayOfNumberOnly.md)
- [Model.ArrayTest](docs/ArrayTest.md)
- [Model.Capitalization](docs/Capitalization.md)
- - [Model.Cat](docs/Cat.md)
- [Model.Category](docs/Category.md)
- [Model.ClassModel](docs/ClassModel.md)
- - [Model.Dog](docs/Dog.md)
- [Model.EnumArrays](docs/EnumArrays.md)
- [Model.EnumClass](docs/EnumClass.md)
- [Model.EnumTest](docs/EnumTest.md)
@@ -161,6 +159,8 @@ Class | Method | HTTP request | Description
- [Model.SpecialModelName](docs/SpecialModelName.md)
- [Model.Tag](docs/Tag.md)
- [Model.User](docs/User.md)
+ - [Model.Cat](docs/Cat.md)
+ - [Model.Dog](docs/Dog.md)