public override bool Equals(object obj) { if (GetType() != obj.GetType()) { return(false); } var otherObj = (SubEntity)obj; return(ABool.Equals(otherObj.ABool) && AnotherString.Equals(otherObj.AnotherString) && AString.Equals(otherObj.AString)); }