/// <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 (Input != null) { hashCode = hashCode * 59 + Input.GetHashCode(); } hashCode = hashCode * 59 + Header.GetHashCode(); if (Alternate != null) { hashCode = hashCode * 59 + Alternate.GetHashCode(); } if (Attributes != null) { hashCode = hashCode * 59 + Attributes.GetHashCode(); } if (Omit != null) { hashCode = hashCode * 59 + Omit.GetHashCode(); } if (Order != null) { hashCode = hashCode * 59 + Order.GetHashCode(); } return(hashCode); } }