protected void Unsubscribe <X>(ValueObjectSetupBase <X> child, [System.Runtime.CompilerServices.CallerMemberName] string propertyName = "") where X : IValueObject { if (child?.PropertyChanged != null) { child.PropertyChanged -= Propigators[propertyName].Propigate; } }
protected void Subscribe <X>(ValueObjectSetupBase <X> child, [System.Runtime.CompilerServices.CallerMemberName] string propertyName = "") where X : IValueObject => child.PropertyChanged += Propigators[propertyName].Propigate;