/// <summary> /// Gets the hash code /// </summary> /// <returns>Hash code</returns> public override int GetHashCode() { unchecked // Overflow is fine, just wrap { var hashCode = 41; // Suitable nullity checks etc, of course :) if (Countries != null) { hashCode = hashCode * 59 + Countries.GetHashCode(); } if (Currencies != null) { hashCode = hashCode * 59 + Currencies.GetHashCode(); } if (RequiredFields != null) { hashCode = hashCode * 59 + RequiredFields.GetHashCode(); } if (OptionalFields != null) { hashCode = hashCode * 59 + OptionalFields.GetHashCode(); } return(hashCode); } }