JoinBlock<T1,T2,T3> Classe
Definição
Importante
Algumas informações se referem a produtos de pré-lançamento que podem ser substancialmente modificados antes do lançamento. A Microsoft não oferece garantias, expressas ou implícitas, das informações aqui fornecidas.
Fornece um bloco de fluxo de dados que ingressa em várias fontes de fluxo de dados, que não sã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, typename T3>
public ref class JoinBlock sealed : System::Threading::Tasks::Dataflow::IReceivableSourceBlock<Tuple<T1, T2, T3> ^>, System::Threading::Tasks::Dataflow::ISourceBlock<Tuple<T1, T2, T3> ^>
public sealed class JoinBlock<T1,T2,T3> : System.Threading.Tasks.Dataflow.IReceivableSourceBlock<Tuple<T1,T2,T3>>, System.Threading.Tasks.Dataflow.ISourceBlock<Tuple<T1,T2,T3>>
type JoinBlock<'T1, 'T2, 'T3> = class
interface IReceivableSourceBlock<'T1 * 'T2 * 'T3>
interface ISourceBlock<'T1 * 'T2 * 'T3>
interface IDataflowBlock
type JoinBlock<'T1, 'T2, 'T3> = class
interface IDataflowBlock
interface IReceivableSourceBlock<'T1 * 'T2 * 'T3>
interface ISourceBlock<'T1 * 'T2 * 'T3>
Public NotInheritable Class JoinBlock(Of T1, T2, T3)
Implements IReceivableSourceBlock(Of Tuple(Of T1, T2, T3)), ISourceBlock(Of Tuple(Of T1, T2, 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
-
JoinBlock<T1,T2,T3>
- Implementações
-
IDataflowBlock IReceivableSourceBlock<Tuple<T1,T2,T3>> ISourceBlock<Tuple<T1,T2,T3>> ISourceBlock<TOutput>
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,T3>() |
Inicializa um novo JoinBlock<T1,T2,T3>. |
JoinBlock<T1,T2,T3>(GroupingDataflowBlockOptions) |
Inicializa um novo JoinBlock<T1,T2,T3>. |
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. |
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<T1,T2,T3>>, DataflowLinkOptions) |
Vincula o bloco de origem para o bloco de destino 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,T3>>, Tuple<T1,T2,T3>) |
Tentativas de receber assincronamente um item de saída disponível do IReceivableSourceBlock<TOutput>. |
TryReceiveAll(IList<Tuple<T1,T2,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<T1,T2,T3>>.ConsumeMessage(DataflowMessageHeader, ITargetBlock<Tuple<T1,T2,T3>>, Boolean) |
Passa a propriedade da mensagem identificada pelo DataflowMessageHeader desta instância de ISourceBlock<TOutput> para o ITargetBlock<TInput>. |
ISourceBlock<Tuple<T1,T2,T3>>.ReleaseReservation(DataflowMessageHeader, ITargetBlock<Tuple<T1,T2,T3>>) |
Libera o direito de passar a propriedade da mensagem identificada pelo DataflowMessageHeader desse ISourceBlock<TOutput> para o ITargetBlock<TInput>. |
ISourceBlock<Tuple<T1,T2,T3>>.ReserveMessage(DataflowMessageHeader, ITargetBlock<Tuple<T1,T2,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>. |