Partilhar via


BatchedJoinBlock<T1,T2,T3> Classe

Definição

Fornece um bloco de fluxo de dados que processa em lotes um número especificado de entradas de possíveis tipos diferentes fornecidos a um ou mais de seus destinos.

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

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.

T3

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

Herança
BatchedJoinBlock<T1,T2,T3>
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

BatchedJoinBlock<T1,T2,T3>(Int32)

Inicializa um novo BatchedJoinBlock<T1,T2,T3> com a configuração especificada.

BatchedJoinBlock<T1,T2,T3>(Int32, GroupingDataflowBlockOptions)

Inicializa um novo BatchedJoinBlock<T1,T2,T3> com a configuração especificada.

Propriedades

BatchSize

Obtém o tamanho dos lotes gerados por este BatchedJoinBlock<T1,T2,T3>.

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.

Target3

Obtém um destino que pode ser usado para oferecer mensagens do terceiro 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<IList<T1>,IList<T2>,IList<T3>>>, 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<IList<T1>,IList<T2>,IList<T3>>>, Tuple<IList<T1>,IList<T2>,IList<T3>>)

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

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

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<IList<T1>,IList<T2>,IList<T3>>>.ConsumeMessage(DataflowMessageHeader, ITargetBlock<Tuple<IList<T1>,IList<T2>,IList<T3>>>, Boolean)

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

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

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

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

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