title: What is the best practice to check if an object is changed?
body: <p>I need to know how do you check if an object is changed. Basically I need something like a property that is named TrackChanges, when I set it true once and if any data within this object is "changed", a method on the same object (IsObjectChanged) can return true.</p>
  
  <p>Did you ever needed such a thing and how did you solve it? I do not want to invent the wheel if there is already a best-practice for such scenario? </p>
  
  <p>I was thinking to clone the object before I call TrackChange=true, in its setter. And when I call IsObjectChanged() By using reflection I will compare all the public field values of it with the cloned copy. I am not sure if it is a good way.</p>
  
  <p>Any advices?</p>
  
  <p>thanks,
  burak ozdogan</p>