Compartir vía


JoinBlock<T1,T2> Clase

Definición

Proporciona un bloque de flujo de datos que combina varios orígenes de flujo de datos, no necesariamente del mismo tipo, donde se espera a que llegue un elemento de cada tipo antes de que todos se liberen de forma conjunta 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

Nota

La biblioteca de flujos de datos TPL (el espacio de nombres System.Threading.Tasks.Dataflow) no se distribuye con .NET. Para instalar el espacio de nombres System.Threading.Tasks.Dataflow en Visual Studio, abra el proyecto, seleccione Administrar paquetes NuGet en el menú Proyecto y busque en línea el paquete System.Threading.Tasks.Dataflow. Como alternativa, para realizar la instalación con la CLI de .Net Core, ejecute dotnet add package System.Threading.Tasks.Dataflow.

Constructores

JoinBlock<T1,T2>()

Inicializa un nuevo objeto JoinBlock<T1,T2>.

JoinBlock<T1,T2>(GroupingDataflowBlockOptions)

Inicializa un nuevo objeto JoinBlock<T1,T2>.

Propiedades

Completion

Obtiene un objeto Task 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 que se pueden recibir 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

Complete()

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

Equals(Object)

Determina si el objeto especificado es igual que el objeto actual.

(Heredado de Object)
GetHashCode()

Sirve como la 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 el ISourceBlock<TOutput> al ITargetBlock<TInput> especificado.

MemberwiseClone()

Crea una copia superficial del Object actual.

(Heredado de Object)
ToString()

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

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

Intentos de recibir sincrónicamente un elemento de salida disponible de IReceivableSourceBlock<TOutput>.

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

Intentos de recibir sincrónicamente todos los elementos disponibles de IReceivableSourceBlock<TOutput>.

Implementaciones de interfaz explícitas

IDataflowBlock.Fault(Exception)

Hace que la interfaz IDataflowBlock se complete en un estado Faulted .

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

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

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

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

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

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

Métodos de extensión

AsObservable<TOutput>(ISourceBlock<TOutput>)

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

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

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

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

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

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

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

OutputAvailableAsync<TOutput>(ISourceBlock<TOutput>)

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

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

Proporciona una Task<TResult> que supervisa de manera asincrónica la salida disponible en el origen.

Receive<TOutput>(ISourceBlock<TOutput>)

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

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

De forma sincrónica recibe un valor de un origen especificado y proporciona un token para cancelar la operación.

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

De forma sincrónica recibe un valor de un origen especificado, observando un tiempo de espera opcional.

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

De forma sincrónica recibe un valor de un origen especificado, proporcionando un token para cancelar la operación y observando un intervalo de tiempo de espera opcional.

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

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

ReceiveAsync<TOutput>(ISourceBlock<TOutput>)

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

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

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

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

De forma asincrónica recibe un valor de un origen especificado, observando un tiempo de espera opcional.

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

De forma asincrónica recibe un valor de un origen especificado, proporcionando un símbolo para anular la operación y observando un intervalo de tiempo de espera opcional.

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

Se intenta recibir sincrónicamente un elemento de ISourceBlock<TOutput>.

Se aplica a