IPropagatorBlock<TInput,TOutput> Interface

Définition

Représente un bloc de flux de données qui est à la fois une cible pour les données et une source de données.

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)

Paramètres de type

TInput

Spécifie le type de données accepté par le IPropagatorBlock<TInput,TOutput>.

Ce paramètre de type est contravariant. Cela signifie que vous pouvez utiliser le type spécifié ou tout type moins dérivé. Pour plus d’informations sur la covariance et la contravariance, consultez Covariance et contravariance dans les génériques.
TOutput

Spécifie le type de données fournies par le IPropagatorBlock<TInput,TOutput>.

Ce paramètre de type est covariant. Cela signifie que vous pouvez utiliser le type spécifié ou tout type plus dérivé. Pour plus d’informations sur la covariance et la contravariance, consultez Covariance et contravariance dans les génériques.
Dérivé
Implémente

Remarques

Note

La bibliothèque de flux de données TPL (l’espace System.Threading.Tasks.Dataflow de noms) n’est pas distribuée avec .NET. Pour installer l’espace System.Threading.Tasks.Dataflow de noms dans Visual Studio, ouvrez votre projet, choisissez Gérer les packages NuGet dans le menu Projet et recherchez en ligne le System.Threading.Tasks.Dataflow package. Sinon, pour l’installer à l’aide de l’interface CLI .NET Core, exécutez dotnet add package System.Threading.Tasks.Dataflow.

Propriétés

Nom Description
Completion

Obtient un Task qui représente l’opération asynchrone et l’achèvement du bloc de flux de données.

(Hérité de IDataflowBlock)

Méthodes

Nom Description
Complete()

Signale au IDataflowBlock fait qu’il ne doit pas accepter ni produire plus de messages ni consommer plus de messages reportés.

(Hérité de IDataflowBlock)
ConsumeMessage(DataflowMessageHeader, ITargetBlock<TOutput>, Boolean)

Appelé par un lié ITargetBlock<TInput> à accepter et consommer un DataflowMessageHeader précédemment proposé par ce ISourceBlock<TOutput>.

(Hérité de ISourceBlock<TOutput>)
Fault(Exception)

Provoque la IDataflowBlock fin dans un Faulted état.

(Hérité de IDataflowBlock)
LinkTo(ITargetBlock<TOutput>, DataflowLinkOptions)

Lie le ISourceBlock<TOutput> fichier vers le fichier spécifié ITargetBlock<TInput>.

(Hérité de ISourceBlock<TOutput>)
OfferMessage(DataflowMessageHeader, TInput, ISourceBlock<TInput>, Boolean)

Offre un message au ITargetBlock<TInput>, donnant à la cible la possibilité de consommer ou de reporter le message.

(Hérité de ITargetBlock<TInput>)
ReleaseReservation(DataflowMessageHeader, ITargetBlock<TOutput>)

Appelé par un lien ITargetBlock<TInput> pour libérer un précédemment réservé DataflowMessageHeader par ce ISourceBlock<TOutput>.

(Hérité de ISourceBlock<TOutput>)
ReserveMessage(DataflowMessageHeader, ITargetBlock<TOutput>)

Appelé par un lié ITargetBlock<TInput> à réserver un précédemment offert DataflowMessageHeader par ce ISourceBlock<TOutput>.

(Hérité de ISourceBlock<TOutput>)

Méthodes d’extension

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

Crée une IObservable<T> abstraction sur le ISourceBlock<TOutput>.

AsObserver<TInput>(ITargetBlock<TInput>)

Crée une IObserver<T> abstraction sur le ITargetBlock<TInput>.

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

Lie le ISourceBlock<TOutput> vers le filtre ITargetBlock<TInput> spécifié à l’aide du filtre spécifié.

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

Lie le ISourceBlock<TOutput> vers le filtre ITargetBlock<TInput> spécifié à l’aide du filtre spécifié.

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

Lie le ISourceBlock<TOutput> fichier vers le fichier spécifié ITargetBlock<TInput>.

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

Fournit un Task<TResult> moniteur asynchrone de la source pour la sortie disponible.

OutputAvailableAsync<TOutput>(ISourceBlock<TOutput>)

Fournit un Task<TResult> moniteur asynchrone de la source pour la sortie disponible.

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

Publie un élément dans le ITargetBlock<TInput>.

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

Reçoit de façon synchrone une valeur d’une source spécifiée et fournit un jeton pour annuler l’opération.

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

Reçoit de façon synchrone une valeur d’une source spécifiée, fournissant un jeton pour annuler l’opération et observer un intervalle de délai d’attente facultatif.

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

Reçoit de façon synchrone une valeur d’une source spécifiée, en observant un délai d’attente facultatif.

Receive<TOutput>(ISourceBlock<TOutput>)

Reçoit de façon synchrone une valeur d’une source spécifiée.

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

Reçoit de façon asynchrone une valeur d’une source spécifiée et fournit un jeton pour annuler l’opération.

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

Reçoit de façon asynchrone une valeur d’une source spécifiée, fournissant un jeton pour annuler l’opération et observer un intervalle de délai d’attente facultatif.

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

Reçoit de façon asynchrone une valeur d’une source spécifiée, en observant un délai d’attente facultatif.

ReceiveAsync<TOutput>(ISourceBlock<TOutput>)

Reçoit de façon asynchrone une valeur d’une source spécifiée.

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

Offre de façon asynchrone un message au bloc de message cible, ce qui permet un report.

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

Offre de façon asynchrone un message au bloc de message cible, ce qui permet un report.

S’applique à