Skip to content

Instantly share code, notes, and snippets.

@ggood
Created May 9, 2016 18:10
Show Gist options
  • Save ggood/93a39701368e98e5d59faed56f499857 to your computer and use it in GitHub Desktop.
Save ggood/93a39701368e98e5d59faed56f499857 to your computer and use it in GitHub Desktop.
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
{
/// <summary>
/// Foo
/// </summary>
[DataContract]
public partial class Foo : IEquatable<Foo>
{
/// <summary>
/// Initializes a new instance of the <see cref="Foo" /> class.
/// </summary>
/// <param name="Bar">Bar.</param>
public Foo(string Bar = null, )
{
this.Bar = Bar;
}
/// <summary>
/// Gets or Sets Bar
/// </summary>
[DataMember(Name="bar", EmitDefaultValue=false)]
public string Bar { get; set; }
/// <summary>
/// Gets or Sets Baz
/// </summary>
[DataMember(Name="baz", EmitDefaultValue=false)]
public string Baz { get; private set; }
/// <summary>
/// Returns the string presentation of the object
/// </summary>
/// <returns>String presentation of the object</returns>
public override string ToString()
{
var sb = new StringBuilder();
sb.Append("class Foo {\n");
sb.Append(" Bar: ").Append(Bar).Append("\n");
sb.Append(" Baz: ").Append(Baz).Append("\n");
sb.Append("}\n");
return sb.ToString();
}
/// <summary>
/// Returns the JSON string presentation of the object
/// </summary>
/// <returns>JSON string presentation of the object</returns>
public string ToJson()
{
return JsonConvert.SerializeObject(this, Formatting.Indented);
}
/// <summary>
/// Returns true if objects are equal
/// </summary>
/// <param name="obj">Object to be compared</param>
/// <returns>Boolean</returns>
public override bool Equals(object obj)
{
// credit: http://stackoverflow.com/a/10454552/677735
return this.Equals(obj as Foo);
}
/// <summary>
/// Returns true if Foo instances are equal
/// </summary>
/// <param name="other">Instance of Foo to be compared</param>
/// <returns>Boolean</returns>
public bool Equals(Foo other)
{
// credit: http://stackoverflow.com/a/10454552/677735
if (other == null)
return false;
return
(
this.Bar == other.Bar ||
this.Bar != null &&
this.Bar.Equals(other.Bar)
) &&
(
this.Baz == other.Baz ||
this.Baz != null &&
this.Baz.Equals(other.Baz)
);
}
/// <summary>
/// Gets the hash code
/// </summary>
/// <returns>Hash code</returns>
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.Bar != null)
hash = hash * 59 + this.Bar.GetHashCode();
if (this.Baz != null)
hash = hash * 59 + this.Baz.GetHashCode();
return hash;
}
}
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment