我有一个应用程序需要确定用户是否对对象进行了更改.因此,当首次加载对象时,我创建一个深层副本(使用序列化/反序列化)并将副本保存到单独的字段中.副本变为myCurrentObject,原始变为myOriginalObject.
现在我需要测试myCurrentObject变化,我计划通过比较来做myOriginalObject.我需要的只是一个boolean结果,表明是否进行了任何更改.我已经确定一个简单的哈希码比较不起作用.GetHashCode()即使没有更改,也会为两个对象生成不同的结果.
我正准备编写一个方法来进行逐个属性的比较,但在此之前,我想我会检查是否有更简单,更可重用的方法来测试myCurrentObject它是否已经改变了myOriginalObject.
有什么建议?谢谢你的帮助.
相反,您可以在每个属性上实现OnPropertyChanged事件,然后您可以查看是否曾抛出该事件.如果您专门实现了INotifyPropertyChanged,那么您将获得额外的好处,如果您愿意,可以执行WPF绑定.
如果无法做到这一点,您可能会实现一个带有反射的解决方案,该解决方案将遍历两个寻找差异的对象.
| 归档时间: |
|
| 查看次数: |
173 次 |
| 最近记录: |