Observable.Buffer<TSource, TBufferClosing> Method (IObservable<TSource>, Func<IObservable<TBufferClosing>>)

Indicates each element of an observable sequence into consecutive non-overlapping buffers.

Namespace:  System.Reactive.Linq
Assembly:  System.Reactive (in System.Reactive.dll)


<ExtensionAttribute> _
Public Shared Function Buffer(Of TSource, TBufferClosing) ( _
    source As IObservable(Of TSource), _
    bufferClosingSelector As Func(Of IObservable(Of TBufferClosing)) _
) As IObservable(Of IList(Of TSource))
Dim source As IObservable(Of TSource)
Dim bufferClosingSelector As Func(Of IObservable(Of TBufferClosing))
Dim returnValue As IObservable(Of IList(Of TSource))

returnValue = source.Buffer(bufferClosingSelector)
public static IObservable<IList<TSource>> Buffer<TSource, TBufferClosing>(
    this IObservable<TSource> source,
    Func<IObservable<TBufferClosing>> bufferClosingSelector
generic<typename TSource, typename TBufferClosing>
static IObservable<IList<TSource>^>^ Buffer(
    IObservable<TSource>^ source, 
    Func<IObservable<TBufferClosing>^>^ bufferClosingSelector
static member Buffer : 
        source:IObservable<'TSource> * 
        bufferClosingSelector:Func<IObservable<'TBufferClosing>> -> IObservable<IList<'TSource>> 
JScript does not support generic types and methods.

Type Parameters

  • TSource
    The type of source.
  • TBufferClosing
    The type of observable sequence whose elements denote the closing of each produced buffer.


  • bufferClosingSelector
    Type: System.Func<IObservable<TBufferClosing>>
    A function invoked to define the boundaries of the produced buffers. A new buffer is started when the previous one is closed.

Return Value

Type: System.IObservable<IList<TSource>>
The observable sequence of buffers.

Usage Note

In Visual Basic and C#, you can call this method as an instance method on any object of type IObservable<TSource>. When you use instance method syntax to call this method, omit the first parameter. For more information, see or .

See Also


Observable Class

Buffer Overload

System.Reactive.Linq Namespace