internal static bool MemberValues <T>(T x, T y, MemberSettings settings) { if (TryGetValueEquals(x, y, settings, out var result)) { return(result); } Verify.CanEqualByMemberValues(x, y, settings, typeof(EqualBy).Name, settings.EqualByMethodName()); using (var borrowed = settings.ReferenceHandling == ReferenceHandling.Structural ? ReferencePairCollection.Borrow() : null) { return(MemberValues(x, y, settings, borrowed?.Value)); } }
internal static void CanEqualByMemberValues <T>(T x, T y, MemberSettings settings) { CanEqualByMemberValues(x, y, settings, typeof(EqualBy).Name, settings.EqualByMethodName()); }