public void OnCompleted()
            {
                // default() 是什么意思??
                var result = default(TResult);

                try
                {
                    // 由之前 observable.arragates() 传进来的参数 Stubs<TAccumulate>.I知,仅需要一个参数。
                    result = _parent._resultSelector(_accumulation);
                }
                catch (Exception exception)
                {
                    base._observer.OnError(exception);
                    base.Dispose();
                    return;
                }

                // 调用基类sink的 onNext() OnCompleted() 方法。
                base._observer.OnNext(result);
                base._observer.OnCompleted();
                //  base.Dispose() s是一个 virtual 函数类型,为什么可以调用呢??
                // virtual和abstract是不同的,C#的精妙之处。
                //virtual是已经实现可以override的
                //abstract是未实现的必须override的
                //建议仔细阅读
                //https://msdn.microsoft.com/en-us/library/ms173152.aspx
                //https://msdn.microsoft.com/en-us/library/6fawty39.aspx
                //https://msdn.microsoft.com/en-us/library/ms173153.aspx
                base.Dispose();
            }
            public void OnCompleted()
            {
                var result = default(TResult);

                try
                {
                    result = _parent._resultSelector(_accumulation);
                }
                catch (Exception exception)
                {
                    base._observer.OnError(exception);
                    base.Dispose();
                    return;
                }

                base._observer.OnNext(result);
                base._observer.OnCompleted();
                base.Dispose();
            }