/// <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 (Downgraded != null) { hashCode = hashCode * 59 + Downgraded.GetHashCode(); } if (Enrolled != null) { hashCode = hashCode * 59 + Enrolled.GetHashCode(); } if (SignatureValid != null) { hashCode = hashCode * 59 + SignatureValid.GetHashCode(); } if (AuthenticationResponse != null) { hashCode = hashCode * 59 + AuthenticationResponse.GetHashCode(); } if (Cryptogram != null) { hashCode = hashCode * 59 + Cryptogram.GetHashCode(); } if (Xid != null) { hashCode = hashCode * 59 + Xid.GetHashCode(); } if (Version != null) { hashCode = hashCode * 59 + Version.GetHashCode(); } return(hashCode); } }