public bool Equals(IMoney other) { if (object.ReferenceEquals(other, null)) { return(false); } if (AllowImplicitConversion) { return(Amount == other.Convert(currencyCode).Amount && other.Amount == Convert(other.CurrencyCodes).Amount); } else { return((CurrencySymbol == other.CurrencySymbol) && (Amount == other.Amount)); } }