JoinBlock<T1,T2> Classe
Definição
Importante
Algumas informações dizem respeito a um produto pré-lançado que pode ser substancialmente modificado antes de ser lançado. A Microsoft não faz garantias, de forma expressa ou implícita, em relação à informação aqui apresentada.
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
-
IDataflowBlock IReceivableSourceBlock<Tuple<T1,T2>> ISourceBlock<Tuple<T1,T2>> ISourceBlock<TOutput>
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>. |