예제 #1
0
 public SelectManyObserver(SelectManyObservable <TSource, TCollection, TResult> .SelectManyObserverWithIndex parent, TSource value, int index, IDisposable cancel) : base(parent.observer, cancel)
 {
     this.parent      = parent;
     this.sourceValue = value;
     this.sourceIndex = index;
     this.cancel      = cancel;
 }
예제 #2
0
 public SelectManyOuterObserver(SelectManyObservable <TSource, TResult> parent, IObserver <TResult> observer, IDisposable cancel)
     : base(observer, cancel)
 {
     this.parent = parent;
 }
예제 #3
0
 public SelectManyEnumerableObserverWithIndex(SelectManyObservable <TSource, TResult> parent, IObserver <TResult> observer, IDisposable cancel)
     : base(observer, cancel)
 {
     this.parent = parent;
 }
            public override void OnNext(TSource value)
            {
                IObservable <TResult> observable;

                try
                {
                    observable = this.parent.selector(value);
                }
                catch (Exception error)
                {
                    try
                    {
                        this.observer.OnError(error);
                    }
                    finally
                    {
                        base.Dispose();
                    }
                    return;
                }
                SingleAssignmentDisposable singleAssignmentDisposable = new SingleAssignmentDisposable();

                this.collectionDisposable.Add(singleAssignmentDisposable);
                SelectManyObservable <TSource, TResult> .SelectManyOuterObserver.SelectMany observer = new SelectManyObservable <TSource, TResult> .SelectManyOuterObserver.SelectMany(this, singleAssignmentDisposable);

                singleAssignmentDisposable.Disposable = observable.Subscribe(observer);
            }
 public SelectMany(SelectManyObservable <TSource, TResult> .SelectManyObserverWithIndex parent, IDisposable cancel) : base(parent.observer, cancel)
 {
     this.parent = parent;
     this.cancel = cancel;
 }
예제 #6
0
            public override void OnNext(TSource value)
            {
                int arg = this.index++;
                IObservable <TCollection> observable;

                try
                {
                    observable = this.parent.collectionSelectorWithIndex(value, arg);
                }
                catch (Exception error)
                {
                    this.OnError(error);
                    return;
                }
                SingleAssignmentDisposable singleAssignmentDisposable = new SingleAssignmentDisposable();

                this.collectionDisposable.Add(singleAssignmentDisposable);
                SelectManyObservable <TSource, TCollection, TResult> .SelectManyObserverWithIndex.SelectManyObserver observer = new SelectManyObservable <TSource, TCollection, TResult> .SelectManyObserverWithIndex.SelectManyObserver(this, value, arg, singleAssignmentDisposable);

                singleAssignmentDisposable.Disposable = observable.Subscribe(observer);
            }
예제 #7
0
 public SelectMany(SelectManyObservable <TSource, TCollection, TResult> .SelectManyOuterObserver parent, TSource value, IDisposable cancel) : base(parent.observer, cancel)
 {
     this.parent      = parent;
     this.sourceValue = value;
     this.cancel      = cancel;
 }