public virtual int CompareTo(SampleEqualityBaseObject <TMember> other)
        {
            if (ReferenceEquals(this, other))
            {
                return(0);
            }

            if (other is null)
            {
                return(1);
            }

            var compare = Comparer.Compare(Field, other.Field);

            if (compare != 0)
            {
                return(compare);
            }

            return(Comparer.Compare(Property, other.Property));
        }
 public override int CompareTo(SampleEqualityBaseObject <TMember> other) => CompareTo((SampleEqualityChildObject <TMember>)other);
 public bool Equals(SampleEqualityBaseObject <TMember> other) =>
 other != null &&
 EqualityComparer <TMember> .Default.Equals(Field, other.Field) &&
 EqualityComparer <TMember> .Default.Equals(Property, other.Property);