Calling some code when Fields change value is not going to happen: change the Fields into Properties.
With
individual Properties, you can implement the INotifyPropertyChanged interface in your class, and then modify the 'set methods of Properties to invoke your handlers: see the link Rick posted in the solution above.
The discussion here is valuable for insight into the issues in implementing INotifyPropertyChanged [
^]
It does get tedious to implement all the boiler-plate code for each Property you want to monitor ! That's where AOP (aspect oriented programming) [
^] is used to automate property change notification: tools like Fody (open source) [
^] , and PostSharp (commercial, free limited edition) [
^].
AOP tools integrated into C# modify/rewrite your code on the IL level.