JoinBlock<T1,T2> Clase

Definición

Proporciona un bloque de flujo de datos que se une a varios orígenes de flujo de datos, no necesariamente del mismo tipo, esperando a que un elemento llegue para cada tipo antes de que se publiquen juntos como una tupla que consta de un elemento 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 el tipo de datos aceptados por el primer destino del bloque.

T2

Especifica el tipo de datos aceptados por el segundo destino del bloque.

Herencia
JoinBlock<T1,T2>
Implementaciones

Comentarios

Note

La biblioteca TPL Dataflow (el espacio de nombres System.Threading.Tasks.Dataflow) no se distribuye con .NET. Para instalar el System.Threading.Tasks.Dataflow espacio de nombres en Visual Studio, abra su proyecto, elija Administrar paquetes NuGet en el menú Proyecto y busque en línea el paquete System.Threading.Tasks.Dataflow. Como otra opción, para instalarlo mediante la CLI de .NET Core, ejecute dotnet add package System.Threading.Tasks.Dataflow.

Constructores

Nombre Description
JoinBlock<T1,T2>()

Inicializa un nuevo JoinBlock<T1,T2>.

JoinBlock<T1,T2>(GroupingDataflowBlockOptions)

Inicializa un nuevo JoinBlock<T1,T2>.

Propiedades

Nombre Description
Completion

Obtiene un Task objeto que representa la operación asincrónica y la finalización del bloque de flujo de datos.

OutputCount

Obtiene el número de elementos de salida disponibles para recibirse de este bloque.

Target1

Obtiene un destino que se puede usar para ofrecer mensajes del primer tipo.

Target2

Obtiene un destino que se puede usar para ofrecer mensajes del segundo tipo.

Métodos

Nombre Description
Complete()

Señala a que IDataflowBlock no debe aceptar ni producir más mensajes ni consumir más mensajes pospuestos.

Equals(Object)

Determina si el objeto especificado es igual al objeto actual.

(Heredado de Object)
GetHashCode()

Actúa como función hash predeterminada.

(Heredado de Object)
GetType()

Obtiene el Type de la instancia actual.

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

Vincula al ISourceBlock<TOutput> objeto especificado ITargetBlock<TInput> .

MemberwiseClone()

Crea una copia superficial del Objectactual.

(Heredado de Object)
ToString()

Devuelve una cadena que representa el nombre con formato de esta IDataflowBlock instancia.

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

Intenta recibir de forma sincrónica un elemento de salida disponible de .IReceivableSourceBlock<TOutput>

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

Intenta recibir de forma sincrónica todos los elementos disponibles de IReceivableSourceBlock<TOutput>.

Implementaciones de interfaz explícitas

Nombre Description
IDataflowBlock.Fault(Exception)

Hace que se IDataflowBlock complete en un Faulted estado .

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

Pasa la propiedad del mensaje identificado por de DataflowMessageHeader esta ISourceBlock<TOutput> instancia a .ITargetBlock<TInput>

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

Libera el derecho para pasar la propiedad del mensaje identificado por de DataflowMessageHeader este ISourceBlock<TOutput> a .ITargetBlock<TInput>

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

Se reserva el derecho de pasar la propiedad del mensaje identificado por de DataflowMessageHeader este ISourceBlock<TOutput> a .ITargetBlock<TInput>

Métodos de extensión

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

Crea una nueva IObservable<T> abstracción sobre .ISourceBlock<TOutput>

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

ISourceBlock<TOutput> Vincula al especificado ITargetBlock<TInput> mediante el filtro especificado.

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

ISourceBlock<TOutput> Vincula al especificado ITargetBlock<TInput> mediante el filtro especificado.

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

Vincula al ISourceBlock<TOutput> objeto especificado ITargetBlock<TInput>.

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

Proporciona un objeto Task<TResult> que supervisa de forma asincrónica el origen de la salida disponible.

OutputAvailableAsync<TOutput>(ISourceBlock<TOutput>)

Proporciona un objeto Task<TResult> que supervisa de forma asincrónica el origen de la salida disponible.

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

Recibe sincrónicamente un valor de un origen especificado y proporciona un token para cancelar la operación.

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

Recibe sincrónicamente un valor de un origen especificado, proporcionando un token para cancelar la operación y observar un intervalo de tiempo de espera opcional.

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

Recibe sincrónicamente un valor de un origen especificado, observando un período de tiempo de espera opcional.

Receive<TOutput>(ISourceBlock<TOutput>)

Recibe sincrónicamente un valor de un origen especificado.

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

Crea un objeto IAsyncEnumerable<T> que permite recibir todos los datos del origen.

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

Recibe de forma asincrónica un valor de un origen especificado y proporciona un token para cancelar la operación.

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

Recibe de forma asincrónica un valor de un origen especificado, lo que proporciona un token para cancelar la operación y observar un intervalo de tiempo de espera opcional.

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

Recibe de forma asincrónica un valor de un origen especificado, observando un período de tiempo de espera opcional.

ReceiveAsync<TOutput>(ISourceBlock<TOutput>)

Recibe de forma asincrónica un valor de un origen especificado.

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

Intenta recibir de forma sincrónica un elemento de .ISourceBlock<TOutput>

Se aplica a