public WpfPipelineProperty ( IPropertyChangeRaiser propertyChanged, Expression <Func <TType> > propertyExpression, AssignablePipelineStage <TType>?setter ) : this(propertyChanged, propertyExpression, setter, setter) { }
public WpfPipelineProperty ( IPropertyChangeRaiser propertyChanged, Expression <Func <TType> > propertyExpression, IPipelineStage <TType> getter, AssignablePipelineStage <TType>?setter ) { PropertyChanged = propertyChanged ?? throw new ArgumentNullException(nameof(propertyChanged)); PropertyName = GetPropertyNameFromExpression(propertyExpression); Getter = getter ?? throw new ArgumentNullException(nameof(getter)); Setter = setter; Reaction = getter.CreateReaction(RaisePropertyChangedOnValueChanged); }