关于像Buffer这样的运算符打开和关闭边界的含义是什么?

时间:2016-06-14 23:57:25

标签: system.reactive

我不理解需要打开或关闭边界的Buffer运算符的重载。我所提到的重载是:

public static IObservable<IList<TSource>> Buffer<TSource, 
TBufferClosing>(this IObservable<TSource> source, 
Func<IObservable<TBufferClosing>> bufferClosingSelector)

public static IObservable<IList<TSource>> Buffer<TSource, 
TBufferBoundary>(this IObservable<TSource> source, 
IObservable<TBufferBoundary> bufferBoundaries)

public static IObservable<IList<TSource>> Buffer<TSource, 
TBufferOpening, TBufferClosing>(this IObservable<TSource> source, 
IObservable<TBufferOpening> bufferOpenings, Func<TBufferOpening, 
IObservable<TBufferClosing>> bufferClosingSelector)

请您解释一下这些边界的含义是什么?

1 个答案:

答案 0 :(得分:2)

它们等同于Window运算符(但每个窗口产生IList<T>而不是IObservable<T>),这些都记录在此处 - http://introtorx.com/Content/v1.0.10621.0/17_SequencesOfCoincidence.html

我建议暂停并阅读目前Rx上的一些doco。它是一个小域,但有很多小概念。这些的构成是理解它的关键。例如,读取所有IntroToRx应该需要几个小时(它只有17页)。