【发布时间】:2014-08-19 12:45:40
【问题描述】:
我有一个对象,我想监控它以防其数据发生变化。但是我不允许向对象添加额外的事件或接口,如 INotifyPropertyChanged,所以我需要纯粹从外部观察它,看看它是否在字符上发生了变化,并通过它的所有属性来识别发生了什么变化。
所以我基本上需要一个 FileSystemWatcher,但是对于一个对象。
C# 是否提供了我在这里寻找的任何功能?
【问题讨论】:
-
好吧,如果您不能使用
INotifyPropertyChanged,您将不得不缓存所有属性的值并定期检查当前值。 -
对象是否可序列化?处理此问题的一种非常低效(但简单)的方法是定期将对象序列化到内存并将其与之前的序列化进行比较。但是,根据对象的大小以及需要轮询更改的频率,这可能对性能非常不利。
-
该对象足够小,可以进行这种操作,并且它只是我公司私人测试软件上的代码,因此质量和性能不是重点。它只需要工作。看起来我必须自己定期轮询数据。
标签: c#