如何在.net 3.5中执行深度/递归对象比较的C#实现?

内容来源于 Stack Overflow,并遵循CC BY-SA 3.0许可协议进行翻译与使用

  • 回答 (2)
  • 关注 (0)
  • 查看 (14)

我正在寻找C#特定的开源(或可用的源代码)实现递归或深层对象比较。

我目前有两张活体对象图,我正在寻找比较对象,比较的结果是图中的一组差异。这些对象是一组在运行时已知的类的实例(但不一定在编译时)。

有一个具体的要求是能够从图中的差异映射回到包含差异的对象。

提问于
用户回答回答于
用户回答回答于

这是一个复杂的领域; 我在运行时做过这样的事情,并且很快就会变得混乱。如果可能的话,你可能会发现最简单的方法是序列化对象并比较序列化的形式(可能是xml-diff和XmlSerializer)。这在运行时不被知道的类型会稍微复杂一点,但不是很大(你总是可以使用new XmlSerializer(obj.GetType())etc)。

无论如何,这将是我的默认方法。

扫码关注云+社区