internal TrackingConfiguration(TrackingConfiguration baseConfig, Type targetType)
        {
            TargetType = targetType;
            Tracker    = baseConfig.Tracker;

            idFunc = baseConfig.idFunc;

            appliedAction            = baseConfig.appliedAction;
            persistedAction          = baseConfig.persistedAction;
            applyingPropertyAction   = baseConfig.applyingPropertyAction;
            persistingPropertyAction = baseConfig.persistingPropertyAction;

            foreach (var kvp in baseConfig.TrackedProperties)
            {
                TrackedProperties.Add(kvp.Key, kvp.Value);
            }
            PersistTriggers.AddRange(baseConfig.PersistTriggers);

            ReadAttributes();
        }
 public TrackingOperationEventArgs(TrackingConfiguration configuration, string property, object value)
 {
     Configuration = configuration;
     Property      = property;
     Value         = value;
 }
 internal TrackingConfiguration(TrackingConfiguration baseConfig)
     : base(baseConfig, typeof(T))
 {
 }
 internal TrackingConfiguration(TrackingConfiguration inner)
 {
     this.inner = inner;
 }