Skip to content

Overriding Equals

Greg Finzer edited this page Aug 29, 2023 · 3 revisions

If you are going to have a base object and overriding equals you can easily create a stack overflow exception if you forget to set the Config.UseHashCodeIdentifier = true

`public class MyLovelyBaseClass { public override bool Equals(object? obj) { if (obj == null || this.GetType() != obj.GetType()) return false; MyLovelyBaseClass demo = (MyLovelyBaseClass)obj; return Compare(demo, this); }

public override int GetHashCode()
{
	return base.GetHashCode();
}

private bool Compare(object object1, object object2)
{
	CompareLogic compareLogic = new CompareLogic();
	compareLogic.Config.UseHashCodeIdentifier = true;
	ComparisonResult result = compareLogic.Compare(object1, object2);
	return result.AreEqual;
}

}`

Clone this wiki locally