/// <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 (CurrentUsage != null) { hashCode = hashCode * 59 + CurrentUsage.GetHashCode(); } if (State != null) { hashCode = hashCode * 59 + State.GetHashCode(); } if (Reason != null) { hashCode = hashCode * 59 + Reason.GetHashCode(); } if (ErrorMessage != null) { hashCode = hashCode * 59 + ErrorMessage.GetHashCode(); } return(hashCode); } }
/// <summary> /// Returns true if ActivityStateDetails instances are equal /// </summary> /// <param name="other">Instance of ActivityStateDetails to be compared</param> /// <returns>Boolean</returns> public bool Equals(ActivityStateDetails other) { if (ReferenceEquals(null, other)) { return(false); } if (ReferenceEquals(this, other)) { return(true); } return (( CurrentUsage == other.CurrentUsage || CurrentUsage != null && CurrentUsage.SequenceEqual(other.CurrentUsage) ) && ( State == other.State || State != null && State.Equals(other.State) ) && ( Reason == other.Reason || Reason != null && Reason.Equals(other.Reason) ) && ( ErrorMessage == other.ErrorMessage || ErrorMessage != null && ErrorMessage.Equals(other.ErrorMessage) )); }