DataflowBlock 类

定义

提供一组用于处理数据流块的静态方法(在 Visual Basic 中为共享方法)。

public ref class DataflowBlock abstract sealed
public static class DataflowBlock
type DataflowBlock = class
Public Module DataflowBlock
继承
DataflowBlock

注解

备注

TPL 数据流库(System.Threading.Tasks.Dataflow 命名空间)不随 .NET 一起分发。 若要在 Visual Studio 中安装 System.Threading.Tasks.Dataflow 命名空间,请打开项目,选择“项目”菜单中的“管理 NuGet 包”,再在线搜索 System.Threading.Tasks.Dataflow 包。 或者,若要使用 .NET Core CLI 进行安装,请运行 dotnet add package System.Threading.Tasks.Dataflow

方法

AsObservable<TOutput>(ISourceBlock<TOutput>)

IObservable<T> 创建新的 ISourceBlock<TOutput> 抽象。

AsObserver<TInput>(ITargetBlock<TInput>)

通过 IObserver<T> 创建新的 ITargetBlock<TInput> 抽象。

Choose<T1,T2,T3>(ISourceBlock<T1>, Action<T1>, ISourceBlock<T2>, Action<T2>, ISourceBlock<T3>, Action<T3>)

监视三种数据流源,调用提供处理程序以使无论哪一种源都可以首先获得数据。

Choose<T1,T2,T3>(ISourceBlock<T1>, Action<T1>, ISourceBlock<T2>, Action<T2>, ISourceBlock<T3>, Action<T3>, DataflowBlockOptions)

监视三种数据流源,调用提供处理程序以使无论哪一种源都可以首先获得数据。

Choose<T1,T2>(ISourceBlock<T1>, Action<T1>, ISourceBlock<T2>, Action<T2>)

监视两种数据流源, 调用出来程序以使无论哪一种源都可首先获得数据。

Choose<T1,T2>(ISourceBlock<T1>, Action<T1>, ISourceBlock<T2>, Action<T2>, DataflowBlockOptions)

监视两种数据流源, 调用出来程序以使无论哪一种源都可首先获得数据。

Encapsulate<TInput,TOutput>(ITargetBlock<TInput>, ISourceBlock<TOutput>)

将目标和源封装入单一的传播程序。

LinkTo<TOutput>(ISourceBlock<TOutput>, ITargetBlock<TOutput>)

ISourceBlock<TOutput> 链接到指定的 ITargetBlock<TInput>

LinkTo<TOutput>(ISourceBlock<TOutput>, ITargetBlock<TOutput>, DataflowLinkOptions, Predicate<TOutput>)

用指定的筛选器将 ISourceBlock<TOutput> 链接到指定的 ITargetBlock<TInput>

LinkTo<TOutput>(ISourceBlock<TOutput>, ITargetBlock<TOutput>, Predicate<TOutput>)

用指定的筛选器将 ISourceBlock<TOutput> 链接到指定的 ITargetBlock<TInput>

NullTarget<TInput>()

获取目标块,此目标块能同步接收为其提供的所有信息并放置它们。

OutputAvailableAsync<TOutput>(ISourceBlock<TOutput>)

提供可异步监视可利用的输出的源的 Task<TResult>

OutputAvailableAsync<TOutput>(ISourceBlock<TOutput>, CancellationToken)

提供 Task<TResult>,用于以异步方式监视可用输出的源。

Post<TInput>(ITargetBlock<TInput>, TInput)

将项发送到 ITargetBlock<TInput> 中。

Receive<TOutput>(ISourceBlock<TOutput>)

同步接收来自指定源的值。

Receive<TOutput>(ISourceBlock<TOutput>, CancellationToken)

同步从指定的数据源中接收值并提供标记来取消操作。

Receive<TOutput>(ISourceBlock<TOutput>, TimeSpan)

同步从指定的数据源中接收值,观察可选的超时期限。

Receive<TOutput>(ISourceBlock<TOutput>, TimeSpan, CancellationToken)

同步从指定的数据源中接收值,提供标记以取消操作并观察可选的超时间隔。

ReceiveAllAsync<TOutput>(IReceivableSourceBlock<TOutput>, CancellationToken)

创建一个 IAsyncEnumerable<T> 用于接收源中的所有数据。

ReceiveAsync<TOutput>(ISourceBlock<TOutput>)

异步接收来自指定源的值。

ReceiveAsync<TOutput>(ISourceBlock<TOutput>, CancellationToken)

异步从指定的数据源中接收值并提供标记来取消操作。

ReceiveAsync<TOutput>(ISourceBlock<TOutput>, TimeSpan)

异步从指定的数据源中接收值,观察可选的超时期限。

ReceiveAsync<TOutput>(ISourceBlock<TOutput>, TimeSpan, CancellationToken)

异步从指定的数据源中接收值,提供标记以取消操作并观察可选的超时间隔。

SendAsync<TInput>(ITargetBlock<TInput>, TInput)

为目标消息块异步提供消息,允许延期。

SendAsync<TInput>(ITargetBlock<TInput>, TInput, CancellationToken)

为目标消息块异步提供消息,允许延期。

TryReceive<TOutput>(IReceivableSourceBlock<TOutput>, TOutput)

尝试从 ISourceBlock<TOutput> 中同步接收一个项目。

适用于