void CompareClass(object object1, object object2, string breadCrumb)
{
try
{
_parents.Add(object1);
_parents.Add(object2);
Type t1 = object1.GetType();
//We ignore the class name
if (ElementsToIgnore.Contains(t1.Name) || IgnoredByAttribute(t1))
return;
//Compare the properties
if (CompareProperties)
PerformCompareProperties(t1, object1, object2, breadCrumb);
//Compare the fields
if (CompareFields)
PerformCompareFields(t1, object1, object2, breadCrumb);
}
finally
{
_parents.Remove(object1);
_parents.Remove(object2);
}
}