I have scenario where -
- A C# WPF Model Object is Xml Serialized and stored in xml file.
- Later after some point of time, read xml file and de-serialize the object into a new variable
- Compare c# object in step 1 with c# object in step 2 In above scenario, these object equality returns false.
The object is complex one and hence, cannot compare each property for equality.
Note, - The WPF model object do not implement any equality related interfaces.
Var model = new TestViewModel();
XmlSerializer s = new XmlSerializer(typeOf(TestViewModel));
var xml = x.Serialize(model);
// Store xml in file
// some more code stuff
// some more code stuff
// some more code stuff
var newModel = x.Deserialize(xml);
If(model.Equals(newModel))
{
// Do some stuff
}
else
{
// do some other stuff
}
XNode.DeepEquals(). Or are you just looking for an automatic recursive equality comparer? If so, see maybe C# implementation of deep/recursive object comparison in .net 3.5