public static ObjectComparator CreateInstance() { var objectComparator = new ObjectComparator(); var typeComparator = new TypeComparator(); var expressionComparator = new ExpressionComparator(typeComparator, objectComparator); objectComparator.ExpressionComparator = expressionComparator; return(objectComparator); }
private ExpressionComparator(TypeComparator typeComparator, ObjectComparator objectComparator) : base(typeComparator, typeComparator.MemberComparer, objectComparator, EqualityComparer <CallSiteBinder> .Default) { objectComparator.ExpressionComparer = this; }
public RecordTreeComparator(TypeComparator typeComparer) : base(typeComparer, ObjectComparator.CreateInstance()) { }