either inner.Tracker could be set to the TrackingConfiguration<T>'s Tracker property in the constructor
or the TrackingConfiguration<T>'s Tracker property could always return inner.Tracker
In terms of required changes, either one requires the base Tracker property to be modified (in one case, it must be virtual, and in the other, it must have a protected setter).
I settled on the second was better for maintainability and matching the rest of the pattern in the TrackingConfiguration<T> to return inner methods/properties.
I thought of two solutions...
inner.Tracker
could be set to theTrackingConfiguration<T>
'sTracker
property in the constructorTrackingConfiguration<T>
'sTracker
property could always returninner.Tracker
In terms of required changes, either one requires the base
Tracker
property to be modified (in one case, it must be virtual, and in the other, it must have a protected setter).I settled on the second was better for maintainability and matching the rest of the pattern in the
TrackingConfiguration<T>
to returninner
methods/properties.