将来自同一类的两个对象与大量字段进行比较

vlo*_*ood 8 .net c# overriding compare equals

我从同一个类中获得了两个对象,我需要逐个字段地比较它们.问题在于它们有近百个字段,手工编写这些字段是很有帮助的.

你知道怎么做更简单的方法吗?Java中的反思可能是一个解决方案,但在我看来,它似乎是一个黑客.毕竟我寻求一个C#解决方案.

And*_*bel 4

两个想法:

  1. 使用反射(在 C# 中可用)运行时并循环比较它们的类的字段。如果您希望能够排除某些字段,可以通过创建属性类并标记您不想与该属性进行比较的字段来实现。

  2. 使用反射以相同的方式循环字段并生成所需的比较代码。这样您将拥有“真正的”代码,但不必自己编写和维护它。属性可用于微调生成的比较代码。