/// <summary> /// Returns true if Currency instances are equal /// </summary> /// <param name="other">Instance of Currency to be compared</param> /// <returns>Boolean</returns> public bool Equals(Currency other) { if (other is null) { return(false); } if (ReferenceEquals(this, other)) { return(true); } return (( MinConfirmations == other.MinConfirmations || MinConfirmations != null && MinConfirmations.Equals(other.MinConfirmations) ) && ( MinWithdrawalFee == other.MinWithdrawalFee || MinWithdrawalFee != null && MinWithdrawalFee.Equals(other.MinWithdrawalFee) ) && ( DisabledDepositAddressCreation == other.DisabledDepositAddressCreation || DisabledDepositAddressCreation != null && DisabledDepositAddressCreation.Equals(other.DisabledDepositAddressCreation) ) && ( _Currency == other._Currency || _Currency != null && _Currency.Equals(other._Currency) ) && ( CurrencyLong == other.CurrencyLong || CurrencyLong != null && CurrencyLong.Equals(other.CurrencyLong) ) && ( WithdrawalFee == other.WithdrawalFee || WithdrawalFee != null && WithdrawalFee.Equals(other.WithdrawalFee) ) && ( FeePrecision == other.FeePrecision || FeePrecision != null && FeePrecision.Equals(other.FeePrecision) ) && ( WithdrawalPriorities == other.WithdrawalPriorities || WithdrawalPriorities != null && other.WithdrawalPriorities != null && WithdrawalPriorities.SequenceEqual(other.WithdrawalPriorities) ) && ( CoinType == other.CoinType || CoinType.Equals(other.CoinType) )); }
/// <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 (MinConfirmations != null) { hashCode = hashCode * 59 + MinConfirmations.GetHashCode(); } if (MinWithdrawalFee != null) { hashCode = hashCode * 59 + MinWithdrawalFee.GetHashCode(); } if (DisabledDepositAddressCreation != null) { hashCode = hashCode * 59 + DisabledDepositAddressCreation.GetHashCode(); } if (_Currency != null) { hashCode = hashCode * 59 + _Currency.GetHashCode(); } if (CurrencyLong != null) { hashCode = hashCode * 59 + CurrencyLong.GetHashCode(); } if (WithdrawalFee != null) { hashCode = hashCode * 59 + WithdrawalFee.GetHashCode(); } if (FeePrecision != null) { hashCode = hashCode * 59 + FeePrecision.GetHashCode(); } if (WithdrawalPriorities != null) { hashCode = hashCode * 59 + WithdrawalPriorities.GetHashCode(); } hashCode = hashCode * 59 + CoinType.GetHashCode(); return(hashCode); } }