У меня есть сценарий, где -Сравнить с # объект с пост десериализованное объекта
- A C# WPF объектная модель является Xml Serialized и хранится в XML-файле.
- Позже после того, как какой-то момент времени, прочитать файл XML и десериализации объекта в новую переменную
- Сравнить C# объекта на шаге 1 с C# объекта на шаге 2 В приведенном выше сценарии, это объект равенства возвращает ложь.
Объект является сложным и, следовательно, не может сравнивать каждое свойство для равенства.
Примечание, - Объект модели WPF не реализует никаких связанных с равенством интерфейсов.
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
}
У вас есть код? Как вы сравниваете эти два объекта? Использует ли ваш класс какой-либо интерфейс для обеспечения равенства? IEquatable? – user3185569
Пожалуйста, включите в свой вопрос более подробную информацию и попытайтесь показать, что вы сделали до сих пор. Вы отметили это [tag: xml], но имеет ли это какое-либо отношение к XML? Если да, и вы хотите сравнить файлы XML, см. ['XNode.DeepEquals()'] (http://msdn.microsoft.com/en-us/library/system.xml.linq.xnode.deepequals.aspx). Или вы просто ищете автоматическое рекурсивное сравнение равенств? Если это так, см., Возможно, [C# реализация глубокого/рекурсивного сравнения объектов в .net 3.5] (http://stackoverflow.com/questions/1539989) – dbc
Добавлен соответствующий код. –