public override string ToString() { return(String.Format("{0} {1}{2}, {3}{4}", statementFactory.GetStatementMnemonic(Type), (char)ModeA, ModularArith.Mod(FieldA.Calculate()), (char)ModeB, ModularArith.Mod(FieldB.Calculate()))); }
public override int GetHashCode() { unchecked { int hash = 17; int prime = 23; hash = hash * prime + FieldA.GetHashCode(); hash = hash * prime + FieldB.GetHashCode(); hash = hash * prime + FieldC.GetHashCode(); hash = hash * prime + FieldD.GetHashCode(); return(hash); } }
/// <summary> /// Указывает, эквивалентен ли текущий объект другому объекту того же типа. /// </summary> /// <param name="other">Объект, который требуется сравнить с данным объектом.</param> /// <returns> /// <see langword="true" />, если текущий объект эквивалентен параметру <paramref name="other" />, в противном случае — <see langword="false" />. /// </returns> public bool Equals(SecondSerializableClass other) { bool equal = FieldA.Equals(other.FieldA) && SomeProperty.Equals(other.SomeProperty); if (FieldC != null && !FieldC.Equals(other.FieldC)) { equal = false; } if (Array1 != null && !Array1.SequenceEqual(other.Array1)) { equal = false; } if (SomeClasses != null && !SomeClasses.SequenceEqual(other.SomeClasses)) { equal = false; } return(equal); }
public override int GetHashCode() { return(Type.GetHashCode() ^ ModeA.GetHashCode() ^ FieldA.Calculate().GetHashCode() ^ ModeB.GetHashCode() ^ FieldB.Calculate().GetHashCode()); }