/// <inheritdoc /> public bool Equals([AllowNull] Projection other) { if (other == null) { return(false); } if (ReferenceEquals(this, other)) { return(true); } return (( Type == other.Type || Type != null && Type.Equals(other.Type) ) && ( Rotation == other.Rotation || Rotation != null && Rotation.Equals(other.Rotation) ) && ( Equals(Parallels, other.Parallels) || Parallels != null && other.Parallels != null && Parallels.SequenceEqual(other.Parallels) ) && ( Scale == other.Scale || Scale != null && Scale.Equals(other.Scale) )); }
public override int GetHashCode() { unchecked // Overflow is fine, just wrap { int hashCode = 41; if (Type != null) { hashCode = hashCode * 59 + Type.GetHashCode(); } if (Rotation != null) { hashCode = hashCode * 59 + Rotation.GetHashCode(); } if (Parallels != null) { hashCode = hashCode * 59 + Parallels.GetHashCode(); } if (Scale != null) { hashCode = hashCode * 59 + Scale.GetHashCode(); } return(hashCode); } }