public IDisposable Run() { var sourceSubscription = new SingleAssignmentDisposable(); var sourceObserver = new SkipUntil(this, sourceSubscription); var otherSubscription = new SingleAssignmentDisposable(); var otherObserver = new SkipUntilOther(this, sourceObserver, otherSubscription); sourceSubscription.Disposable = parent.source.Subscribe(sourceObserver); otherSubscription.Disposable = parent.other.Subscribe(otherObserver); return(StableCompositeDisposable.Create(otherSubscription, sourceSubscription)); }
public IDisposable Run() { SingleAssignmentDisposable singleAssignmentDisposable = new SingleAssignmentDisposable(); SkipUntil skipUntil = new SkipUntil(this, singleAssignmentDisposable); SingleAssignmentDisposable singleAssignmentDisposable2 = new SingleAssignmentDisposable(); SkipUntilOther observer = new SkipUntilOther(this, skipUntil, singleAssignmentDisposable2); singleAssignmentDisposable.Disposable = parent.source.Subscribe(skipUntil); singleAssignmentDisposable2.Disposable = parent.other.Subscribe(observer); return(StableCompositeDisposable.Create(singleAssignmentDisposable2, singleAssignmentDisposable)); }