Comparteix a través de


IPropagatorBlock<TInput,TOutput> Interfaz

Definición

Representa un bloque de flujo de datos que es tanto un destino como un origen de datos.

generic <typename TInput, typename TOutput>
public interface class IPropagatorBlock : System::Threading::Tasks::Dataflow::ISourceBlock<TOutput>, System::Threading::Tasks::Dataflow::ITargetBlock<TInput>
public interface IPropagatorBlock<in TInput,out TOutput> : System.Threading.Tasks.Dataflow.ISourceBlock<out TOutput>, System.Threading.Tasks.Dataflow.ITargetBlock<in TInput>
type IPropagatorBlock<'Input, 'Output> = interface
    interface ITargetBlock<'Input>
    interface IDataflowBlock
    interface ISourceBlock<'Output>
type IPropagatorBlock<'Input, 'Output> = interface
    interface IDataflowBlock
    interface ISourceBlock<'Output>
    interface ITargetBlock<'Input>
Public Interface IPropagatorBlock(Of In TInput, Out TOutput)
Implements ISourceBlock(Of Out TOutput), ITargetBlock(Of In TInput)

Parámetros de tipo

TInput

Especifica el tipo de datos que acepta IPropagatorBlock<TInput,TOutput>.

Este parámetro de tipo es contravariante, es decir, puede usar el tipo que haya especificado o cualquier tipo menos derivado. Si desea obtener más información sobre la covarianza y la contravarianza, consulte Covarianza y contravarianza en genéricos.
TOutput

Especifica el tipo de datos que suministra IPropagatorBlock<TInput,TOutput>.

Este parámetro de tipo es covariante, es decir, puede usar el tipo que haya especificado o cualquier tipo más derivado. Si desea obtener más información sobre la covarianza y la contravarianza, consulte Covarianza y contravarianza en genéricos.
Derivado
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.

Propiedades

Completion

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

(Heredado de IDataflowBlock)

Métodos

Complete()

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

(Heredado de IDataflowBlock)
ConsumeMessage(DataflowMessageHeader, ITargetBlock<TOutput>, Boolean)

Lo llama una interfaz ITargetBlock<TInput> vinculada para aceptar y usar una estructura DataflowMessageHeader ofrecida previamente por esta interfaz ISourceBlock<TOutput>.

(Heredado de ISourceBlock<TOutput>)
Fault(Exception)

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

(Heredado de IDataflowBlock)
LinkTo(ITargetBlock<TOutput>, DataflowLinkOptions)

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

(Heredado de ISourceBlock<TOutput>)
OfferMessage(DataflowMessageHeader, TInput, ISourceBlock<TInput>, Boolean)

Ofrece un mensaje a ITargetBlock<TInput>, dando al destino la oportunidad de usar o de posponer el mensaje.

(Heredado de ITargetBlock<TInput>)
ReleaseReservation(DataflowMessageHeader, ITargetBlock<TOutput>)

Lo llama una interfaz ITargetBlock<TInput> vinculada para liberar una estructura DataflowMessageHeader reservada previamente por esta interfaz ISourceBlock<TOutput>.

(Heredado de ISourceBlock<TOutput>)
ReserveMessage(DataflowMessageHeader, ITargetBlock<TOutput>)

Lo llama una interfaz ITargetBlock<TInput> vinculada para reservar una estructura DataflowMessageHeader ofrecida previamente por esta interfaz ISourceBlock<TOutput>.

(Heredado de ISourceBlock<TOutput>)

Métodos de extensión

AsObservable<TOutput>(ISourceBlock<TOutput>)

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

AsObserver<TInput>(ITargetBlock<TInput>)

Crea una nueva abstracción de la interfaz IObserver<T> sobre la interfaz ITargetBlock<TInput>.

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

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

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

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

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

Vincula al ISourceBlock<TOutput> objeto especificado ITargetBlock<TInput> mediante 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 un objeto Task<TResult> que supervisa de forma asincrónica el origen de salida disponible.

Post<TInput>(ITargetBlock<TInput>, TInput)

Publica un elemento a ITargetBlock<TInput>.

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.

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.

SendAsync<TInput>(ITargetBlock<TInput>, TInput)

De forma asincrónica proporciona un mensaje al bloque de mensajes de destino, teniendo en cuenta el aplazamiento.

SendAsync<TInput>(ITargetBlock<TInput>, TInput, CancellationToken)

De forma asincrónica proporciona un mensaje al bloque de mensajes de destino, teniendo en cuenta el aplazamiento.

Se aplica a