Compartilhar via


JoinBlock<T1,T2> Classe

Definição

Fornece um bloco de fluxo de dados que ingressa em várias fontes de fluxo de dados, não necessariamente do mesmo tipo, aguardando um item ser recebido para cada tipo antes que sejam todos liberados juntos como uma tupla que contém um item por tipo.

generic <typename T1, typename T2>
public ref class JoinBlock sealed : System::Threading::Tasks::Dataflow::IReceivableSourceBlock<Tuple<T1, T2> ^>, System::Threading::Tasks::Dataflow::ISourceBlock<Tuple<T1, T2> ^>
public sealed class JoinBlock<T1,T2> : System.Threading.Tasks.Dataflow.IReceivableSourceBlock<Tuple<T1,T2>>, System.Threading.Tasks.Dataflow.ISourceBlock<Tuple<T1,T2>>
type JoinBlock<'T1, 'T2> = class
    interface IReceivableSourceBlock<'T1 * 'T2>
    interface ISourceBlock<'T1 * 'T2>
    interface IDataflowBlock
type JoinBlock<'T1, 'T2> = class
    interface IDataflowBlock
    interface IReceivableSourceBlock<'T1 * 'T2>
    interface ISourceBlock<'T1 * 'T2>
Public NotInheritable Class JoinBlock(Of T1, T2)
Implements IReceivableSourceBlock(Of Tuple(Of T1, T2)), ISourceBlock(Of Tuple(Of T1, T2))

Parâmetros de tipo

T1

Especifica o tipo de dados aceitos pelo primeiro destino do bloco.

T2

Especifica o tipo de dados aceitos pelo segundo destino do bloco.

Herança
JoinBlock<T1,T2>
Implementações

Comentários

Observação

A Biblioteca de Fluxo de Dados TPL (o namespace System.Threading.Tasks.Dataflow) não é distribuída com o .NET. Para instalar o namespace System.Threading.Tasks.Dataflow no Visual Studio, abra o projeto, escolha Gerenciar Pacotes NuGet no menu Projeto e pesquise online o pacote System.Threading.Tasks.Dataflow. Como alternativa, instale-o usando a CLI do .NET Core e execute dotnet add package System.Threading.Tasks.Dataflow.

Construtores

JoinBlock<T1,T2>()

Inicializa um novo JoinBlock<T1,T2>.

JoinBlock<T1,T2>(GroupingDataflowBlockOptions)

Inicializa um novo JoinBlock<T1,T2>.

Propriedades

Completion

Obtém um Task que representa a operação assíncrona e a conclusão do bloco de fluxo de dados.

OutputCount

Obtém o número de itens de saída disponíveis para serem recebidos deste bloco.

Target1

Obtém um destino que pode ser usado para oferecer mensagens do primeiro tipo.

Target2

Obtém um destino que pode ser usado para oferecer mensagens do segundo tipo.

Métodos

Complete()

Sinaliza para o IDataflowBlock que ele não deve aceitar nem produzir mais mensagens, e não deve consumir mais mensagens adiadas.

Equals(Object)

Determina se o objeto especificado é igual ao objeto atual.

(Herdado de Object)
GetHashCode()

Serve como a função de hash padrão.

(Herdado de Object)
GetType()

Obtém o Type da instância atual.

(Herdado de Object)
LinkTo(ITargetBlock<Tuple<T1,T2>>, DataflowLinkOptions)

Vincula o ISourceBlock<TOutput> ao ITargetBlock<TInput> especificado.

MemberwiseClone()

Cria uma cópia superficial do Object atual.

(Herdado de Object)
ToString()

Retorna uma cadeia de caracteres que representa o nome formatado desta instância IDataflowBlock.

TryReceive(Predicate<Tuple<T1,T2>>, Tuple<T1,T2>)

Tentativas de receber assincronamente um item de saída disponível do IReceivableSourceBlock<TOutput>.

TryReceiveAll(IList<Tuple<T1,T2>>)

Tentativas de receber assincronamente todos os itens disponíveis do IReceivableSourceBlock<TOutput>.

Implantações explícitas de interface

IDataflowBlock.Fault(Exception)

Faz com que o IDataflowBlock seja concluído em um estado Faulted.

ISourceBlock<Tuple<T1,T2>>.ConsumeMessage(DataflowMessageHeader, ITargetBlock<Tuple<T1,T2>>, Boolean)

Passa a propriedade da mensagem identificada pelo DataflowMessageHeader desta instância de ISourceBlock<TOutput> para o ITargetBlock<TInput>.

ISourceBlock<Tuple<T1,T2>>.ReleaseReservation(DataflowMessageHeader, ITargetBlock<Tuple<T1,T2>>)

Libera o direito de passar a propriedade da mensagem identificada pelo DataflowMessageHeader desse ISourceBlock<TOutput> para o ITargetBlock<TInput>.

ISourceBlock<Tuple<T1,T2>>.ReserveMessage(DataflowMessageHeader, ITargetBlock<Tuple<T1,T2>>)

Reserva o direito de passar a propriedade da mensagem identificada pelo DataflowMessageHeader desse ISourceBlock<TOutput> para o ITargetBlock<TInput>.

Métodos de Extensão

AsObservable<TOutput>(ISourceBlock<TOutput>)

Cria uma nova abstração IObservable<T> em relação a ISourceBlock<TOutput>.

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

Vincula o ISourceBlock<TOutput> ao ITargetBlock<TInput> especificado.

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

Vincula o ISourceBlock<TOutput> ao ITargetBlock<TInput> especificado usando o filtro indicado.

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

Vincula o ISourceBlock<TOutput> para o ITargetBlock<TInput> especificado usando o filtro indicado.

OutputAvailableAsync<TOutput>(ISourceBlock<TOutput>)

Fornece um Task<TResult> que monitora assincronamente a saída disponível na fonte.

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

Fornece um Task<TResult> que monitora assincronamente a fonte de saída disponível.

Receive<TOutput>(ISourceBlock<TOutput>)

Recebe de forma síncrona um valor de uma origem especificada.

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

Recebe de forma síncrona um valor de uma origem especificada e fornece um token para cancelar a operação.

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

Recebe de forma síncrona um valor de uma origem especificada, observando um período de tempo limite opcional.

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

Recebe de forma síncrona um valor de uma fonte especificada, fornecendo um token para cancelar a operação e observando um intervalo de tempo limite opcional.

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

Cria um IAsyncEnumerable<T> que permite o recebimento de todos os dados da origem.

ReceiveAsync<TOutput>(ISourceBlock<TOutput>)

Recebe assincronamente um valor de uma origem especificada.

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

Recebe assincronamente um valor de uma origem especificada e fornece um token para cancelar a operação.

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

Recebe assincronamente um valor de uma origem especificada, observando um período de tempo limite opcional.

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

Recebe assincronamente um valor de uma fonte especificada, fornecendo um token para cancelar a operação e observando um intervalo de tempo limite opcional.

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

Tentativas de receber assincronamente um item do ISourceBlock<TOutput>.

Aplica-se a