public RightObserver(BinaryPipe <TKey, TLeft, TRight, TResult> parent, ObserverBase <TLeft, TRight> left) : base(parent, left) { }
protected ObserverBase(BinaryPipe <TKey, TLeft, TRight, TResult> parent, ObserverBase <TOther, TThis> other) { this.Parent = parent; this.other = other; this.ClassId = Guid.NewGuid(); }
public LeftObserver(BinaryPipe <TKey, TLeft, TRight, TResult> parent, out ObserverBase <TRight, TLeft> right) : base(parent, l => new RightObserver(parent, l), out right) { }
protected ObserverBase(BinaryPipe <TKey, TLeft, TRight, TResult> parent, Func <ObserverBase <TThis, TOther>, ObserverBase <TOther, TThis> > createOther, out ObserverBase <TOther, TThis> other) { this.Parent = parent; other = this.other = createOther(this); this.ClassId = Guid.NewGuid(); }