JoinBlock<T1,T2> Classe

Definição

Fornece um bloco de fluxo de dados que se junta através de várias fontes de fluxo de dados, não necessariamente do mesmo tipo, esperando que chegue um item para cada tipo antes de serem todos libertados juntos como uma tupla composta por 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
Public NotInheritable Class JoinBlock(Of T1, T2)
Implements IReceivableSourceBlock(Of Tuple(Of T1, T2)), ISourceBlock(Of Tuple(Of T1, T2))

Parâmetros de Tipo Genérico

T1

Especifica o tipo de dados aceites pelo primeiro alvo do bloco.

T2

Especifica o tipo de dados aceites pelo segundo alvo do bloco.

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

Observações

Note

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 seu projeto, escolha Gerir Pacotes NuGet no menu Projeto e pesquise o pacote System.Threading.Tasks.Dataflow online. Como alternativa, para instalá-lo usando a CLI do .NET Core, execute dotnet add package System.Threading.Tasks.Dataflow.

Construtores

Name Description
JoinBlock<T1,T2>()

Inicializa um novo JoinBlock<T1,T2>.

JoinBlock<T1,T2>(GroupingDataflowBlockOptions)

Inicializa um novo JoinBlock<T1,T2>.

Propriedades

Name Description
Completion

Obtém-se a 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

Recebe um alvo que pode ser usado para oferecer mensagens do primeiro tipo.

Target2

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

Métodos

Name Description
Complete()

Sinais para o IDataflowBlock grupo de que não deve aceitar nem produzir mais mensagens nem consumir mais mensagens adiadas.

Equals(Object)

Determina se o objeto especificado é igual ao objeto atual.

(Herdado de Object)
GetHashCode()

Serve como função de hash predefinida.

(Herdado de Object)
GetType()

Obtém o Type da instância atual.

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

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

MemberwiseClone()

Cria uma cópia superficial do atual Object.

(Herdado de Object)
ToString()

Devolve uma cadeia que representa o nome formatado desta IDataflowBlock instância.

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

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

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

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

Implementações de Interface Explícita

Name Description
IDataflowBlock.Fault(Exception)

Faz com que a IDataflowBlock conclua num Faulted estado.

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

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

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

Libera o direito de passar a propriedade da mensagem identificada por isto DataflowMessageHeaderISourceBlock<TOutput> para o ITargetBlock<TInput>.

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

Reserva-se o direito de passar a propriedade da mensagem identificada por isto DataflowMessageHeaderISourceBlock<TOutput> para o ITargetBlock<TInput>.

Métodos da Extensão

Name Description
AsObservable<TOutput>(ISourceBlock<TOutput>)

Cria uma nova IObservable<T> abstração sobre o ISourceBlock<TOutput>.

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

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

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

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

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

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

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

Fornece um Task<TResult> que monitoriza assíncronamente a fonte para a saída disponível.

OutputAvailableAsync<TOutput>(ISourceBlock<TOutput>)

Fornece um Task<TResult> que monitoriza assíncronamente a fonte para a saída disponível.

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

O Synchroniously recebe um valor de uma fonte especificada e fornece um token para cancelar a operação.

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

Synchronally recebe um valor de uma fonte especificada, fornecendo um token para cancelar a operação e observando um intervalo opcional de time-out.

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

Sincronizadamente recebe um valor de uma fonte especificada, observando um período opcional de time-out.

Receive<TOutput>(ISourceBlock<TOutput>)

Recebe síncronicamente um valor de uma fonte especificada.

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

De forma assíncrona, recebe um valor de uma fonte especificada e fornece um token para cancelar a operação.

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

De forma assíncrona, recebe um valor de uma fonte especificada, fornecendo um token para cancelar a operação e observando um intervalo opcional de time-out.

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

De forma assíncrona, recebe um valor de uma fonte especificada, observando um período opcional de time-out.

ReceiveAsync<TOutput>(ISourceBlock<TOutput>)

De forma assíncrona, recebe um valor de uma fonte especificada.

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

Tentativas de receber síncronicamente um item do ISourceBlock<TOutput>.

Aplica-se a