DataflowBlock.Receive(Of TOutput) Method (ISourceBlock(Of TOutput), TimeSpan)

.NET Framework (current version)

Synchronously receives a value from a specified source, observing an optional time-out period.

Namespace:  System.Threading.Tasks.Dataflow
Assembly:  System.Threading.Tasks.Dataflow (in System.Threading.Tasks.Dataflow.dll)

<ExtensionAttribute> _
Public Shared Function Receive(Of TOutput) ( _
	source As ISourceBlock(Of TOutput), _
	timeout As TimeSpan _
) As TOutput

Type Parameters


The type of data contained in the source.


Type: System.Threading.Tasks.Dataflow.ISourceBlock(Of TOutput)

The source from which to receive the value.

Type: System.TimeSpan

The maximum time interval, in milliseconds, to wait for the synchronous operation to complete, or an interval that represents -1 milliseconds to wait indefinitely.

Return Value

Type: TOutput
The received value.

Usage Note

In Visual Basic and C#, you can call this method as an instance method on any object of type ISourceBlock(Of TOutput). When you use instance method syntax to call this method, omit the first parameter. For more information, see Extension Methods (Visual Basic) or Extension Methods (C# Programming Guide).


timeout is a negative number other than -1 milliseconds, which represents an infinite time-out period.


timeout is greater than MaxValue.


source is Nothing.


No item could be received from the source.


The specified time-out expired before an item was received from the source.

If the source successfully offered an item that was received by this operation, that item is returned even if a concurrent time-out occurs.

.NET Framework

Supported in: 4.5

Portable Class Library

Supported in: Portable Class Library