I was wondering if anyone knows how to solve the following problem... I have a base class that needs to update it's modifiedDateTime property when a derived class property is changed.
BaseObject.cs
public class BaseObject
{
    private DateTime? _modifiedDateTime;
    public DateTime? modifiedDateTime 
    {
        get { return _modifiedDateTime ; }
        set { _modifiedDateTime  = value; }
    }
    public BaseObject
    {
        _modifiedDateTime = DateTime.Now.ToUniversalTime();
    }
    public void Update(object sender, PropertyChangedEventArgs e)
    {
        _modifiedDateTime = DateTime.Now.ToUniversalTime();
    }
}
ExampleClass1.cs
public class ExampleClass1: BaseObject, INotifyPropertyChanged
{
    public event PropertyChangedEventHandler PropertyChanged;
    private int _data;
    public int data
    {
        get { return _data; }
        set 
        {
            _data = value;
            PropertyChanged?.Invoke(this,  new PropertyChangedEventArgs("data"));               
        }
    }
    public ExampleClass1()
    {
        PropertyChanged += base.Update;
    }
}
The previous example is working as expected.
However if the derived class contains an object of another class. For example:
ExampleClass2.cs
public class ExampleClass2: BaseObject, INotifyPropertyChanged
{
    public event PropertyChangedEventHandler PropertyChanged;
    private int _data;
    private ExampleClass1 _objClass1;
    public int data
    {
        get { return _data; }
        set 
        {
            _data = value;
            PropertyChanged?.Invoke(this,  new PropertyChangedEventArgs("data"));               
        }
    }
    public ExampleClass1 objClass1
    {
        get { return _objClass1; }
        set 
        {
            _objClass1 = value;
            PropertyChanged?.Invoke(this,  new PropertyChangedEventArgs("objClass1"));               
        }
    }
    public ExampleClass2()
    {
        PropertyChanged += base.Update;
    }
}
When I change the data property of the objClass1, the modifiedDateTime property of the ExampleClass2 inherited by the base class BaseObject is not updated.
How can I solve this problem?
                        
When you set the value of
objClass1subscribe to its property changed event as well