You might want to encapsulate all of your data (which you want to track for changes) inside get / set accessors (aka properties).
Then, in installation access, check if the value has changed, set it to a new value and:
- set _dirty to true (if you need to check it later)
or
- raise an event of your choice
Some notes on CRC - even if you do not have a counter CRC / HASH algoritam for your object, you should have the original hash somewhere. But simple hashes are likely to be duplicated, so again you will have a speed problem.
Daniel Moลกmondor
source share