Deriving your ComplexObject
, from Freezable
(and implementing Freezable
) should be enough, or not?
According to MSDN Documentation:
A class that derives from Freezable gains the following features:
- Special states: a read-only (frozen) state and a writable state.
- Thread safety: a frozen Freezable object can be shared across threads.
- Detailed change notification: Unlike other DependencyObject objects, a Freezable object provides change notifications when sub-property values change.
- Easy cloning: the Freezable class has already implemented several methods that produce deep clones.