An unorthodox approach can use an AOP structure such as PostSharp to βtwistβ a handler before / after calling an accessory that fires an event.
You create an external class that contains the preliminary and / or mail processing code for accessing your property, check if the property value has changed between pre and post and will raise an event.
Remember that taking a value for comparison (inside the code of your handler), you can end up in an infinite loop (you call a property accessory that calls the AOP handler, which calls the accessor, etc.), so you may need to think about a class, containing this property to get the support field.
Yoni shalom
source share