bool IEqualityComparer <T> .Equals(T?x, T?y) { if (x is null) { return(y is null); } else { return(y is not null && _comparer.PartEquals(x, y)); } }
protected override bool PartEquals(TPart?x, TPart?y) { if (x is null) { return(y is null); } else { return(y is not null && _partComparer.PartEquals(x, y)); } }
protected override bool PartEquals(TPart x, TPart y) { return(_partComparer.PartEquals(x, y)); }