protected override bool EqualsImpl(EquatableByValue <T> other) { var otherEquatable = (EquatableByValueWithoutOrder <T>)other; return(EqualsWithoutOrderImpl(otherEquatable)); }
protected virtual bool EqualsImpl(EquatableByValue <T> otherEquatable) => GetAllAttributesToBeUsedForEquality().SequenceEqual(otherEquatable.GetAllAttributesToBeUsedForEquality());
protected virtual bool EqualsImpl(EquatableByValue <T> otherEquatable) { // Implementation where orders of the elements matters. return(GetAllAttributesToBeUsedForEquality().SequenceEqual(otherEquatable.GetAllAttributesToBeUsedForEquality())); }