コード例 #1
0
        public override void Subscribe(IFlowableSubscriber <T> subscriber)
        {
            if (subscriber is IConditionalSubscriber <T> s)
            {
                var parent = new SkipUntilConditionalSubscriber(s);
                subscriber.OnSubscribe(parent);

                other.Subscribe(parent.other);
                source.Subscribe(parent);
            }
            else
            {
                var parent = new SkipUntilSubscriber(subscriber);
                subscriber.OnSubscribe(parent);

                other.Subscribe(parent.other);
                source.Subscribe(parent);
            }
        }
コード例 #2
0
        public void Subscribe(ISubscriber <T> s)
        {
            SkipUntilHelper parent;

            if (s is IConditionalSubscriber <T> )
            {
                parent = new SkipUntilConditionalSubscriber((IConditionalSubscriber <T>)s);
            }
            else
            {
                parent = new SkipUntilSubscriber(s);
            }

            var until = new UntilSubscriber(parent);

            s.OnSubscribe(parent);

            other.Subscribe(until);

            source.Subscribe(parent);
        }