C# 列表和集合的Kellerman对象比较

C# 列表和集合的Kellerman对象比较,c#,list,object,properties,compare,C#,List,Object,Properties,Compare,我试图使用Kellerman对象比较代码来报告对象的所有更改属性。我特别感兴趣的是哪些属性已从默认更改。为此,我让Kellerman将已修改的对象与新创建的该对象实例进行比较。问题是Kellerman无法处理一个对象的列表为空而另一个对象已填充的情况。它只报告列表计数的差异以及它们之间的差异。理想情况下,它在列表中逐个对象、逐个属性地运行,并报告对象中已更改的属性(其中包含数据)。有人知道如何配置Kellerman来实现这一点吗?有没有别的图书馆能更好地满足我的需要 Object 1 Ob

我试图使用Kellerman对象比较代码来报告对象的所有更改属性。我特别感兴趣的是哪些属性已从默认更改。为此,我让Kellerman将已修改的对象与新创建的该对象实例进行比较。问题是Kellerman无法处理一个对象的列表为空而另一个对象已填充的情况。它只报告列表计数的差异以及它们之间的差异。理想情况下,它在列表中逐个对象、逐个属性地运行,并报告对象中已更改的属性(其中包含数据)。有人知道如何配置Kellerman来实现这一点吗?有没有别的图书馆能更好地满足我的需要

Object 1    Object 2
-list1      -list1(empty)
 -elem1
  -prop1
  -prop2      
 -elem2
  -prop1

Object 1                     Object 2
list1.count = 2              Object 2 list1.count = 0
list1.elem1.prop1 = "blah"  (Object 2 does not have corresponding property) 
list1.elem1.prop2 = "blah"  (Object 2 does not have corresponding property)
list1.elem2.prop1 = "blah"  (Object 2 does not have corresponding property)

如果一个列表为空,为什么需要Kellermann?在这种情况下,一切都发生了变化,您可以声明,在没有任何库的情况下,我正在使用Kellerman在这种情况下声明哪些属性发生了变化。并非所有属性每次都会更改。这就是我想要通过比较空对象来跟踪的内容。从概念上讲,我想要一个库,我可以问“自从我构建了我的对象以来,我对它做了哪些更改?”哦,你可以在那里看到:你添加了两个元素上面写的是我想要Kellerman(或任何库)报告的内容,而不是它当前报告的内容。如果一个列表为空,为什么需要Kellerman?在这种情况下,一切都发生了变化,您可以声明,在没有任何库的情况下,我正在使用Kellerman在这种情况下声明哪些属性发生了变化。并非所有属性每次都会更改。这就是我想要通过比较空对象来跟踪的内容。从概念上讲,我想要一个库,我可以问“自从我构建了我的对象以来,我对它做了什么更改?”哦,你可以在那里看到:你添加了两个元素,上面写的是我想要Kellerman(或任何库)报告的内容,而不是它当前报告的内容。