Hi Gideon, Thanks for the explination, I think I fully understand it now, but I will do more reading on it. All I did was to override == and Equals in my base class (which obviously did not give me the correct behaviour), then after much searching I implemented IEquatable<Derived> on my derived class and it worked fine so I stopped working on it. Should I try to implement IEquatable<Base> and see if that gives the correct behaviour? (The attributes I'm comparing on is part of the Base, infact I use the overloaded == to compare)
____________________________________________________________ Be brave little warrior, be VERY brave