public BidirectionalPropertySynchronization(INotifyReversableValue <T> source1, INotifyReversableValue <T> source2) { Source1 = source1; Source2 = source2; Source1.ValueChanged += Source1_ValueChanged; Source2.ValueChanged += Source2_ValueChanged; }
public TwoWaySynchronization(INotifyReversableValue <TDepLeft> left, INotifyReversableValue <TDepRight> right, SynchronizationComputation <TLeft, TRight> computation, SynchronizationSingleDependency <TLeft, TRight, TDepLeft, TDepRight> parent) { Left = left; Right = right; Parent = parent; Computation = computation; Left.ValueChanged += Left_ValueChanged; Right.ValueChanged += Right_ValueChanged; }
internal IncrementalReferenceConsistencyCheck(INotifyReversableValue <TDepLeft> left, INotifyReversableValue <TDepRight> right, SynchronizationComputation <TLeft, TRight> computation, SynchronizationSingleDependency <TLeft, TRight, TDepLeft, TDepRight> parent) { Left = left; Right = right; Parent = parent; Computation = computation; Left.ValueChanged += Left_ValueChanged; Right.ValueChanged += Right_ValueChanged; if (Computation.SynchronizationContext.Direction == SynchronizationDirection.CheckOnly && Computation.TransformationContext.Trace.ResolveIn(Parent.childRule.LeftToRight, Left.Value) != Right.Value) { Computation.SynchronizationContext.Inconsistencies.Add(this); } }
public IncrementalPropertyConsistencyCheck(INotifyReversableValue <T> source1, INotifyReversableValue <T> source2, ISynchronizationContext context) { SourceLeft = source1; SourceRight = source2; SourceLeft.Successors.SetDummy(); SourceRight.Successors.SetDummy(); SourceLeft.ValueChanged += Source_ValueChanged; SourceRight.ValueChanged += Source_ValueChanged; Context = context; if (!EqualityComparer <T> .Default.Equals(SourceLeft.Value, SourceRight.Value)) { Context.Inconsistencies.Add(this); } }
public ObservableProxyReversableExpression(INotifyReversableValue <T> value) : base(value) { }
public ObservableLensPutProxy(INotifyReversableValue <TBase> target, INotifyExpression <T> inner, LensPutAttribute lensAttribute, MethodInfo method) { this.inner = inner; this.lens = LensPut <TBase, T> .FromLensPutAttribute(lensAttribute, method, target); }