BufferBlock<T> Classe
Définition
Important
Certaines informations portent sur la préversion du produit qui est susceptible d’être en grande partie modifiée avant sa publication. Microsoft exclut toute garantie, expresse ou implicite, concernant les informations fournies ici.
Fournit une mémoire tampon pour le stockage de données pour un dataflow.
generic <typename T>
public ref class BufferBlock sealed : System::Threading::Tasks::Dataflow::IPropagatorBlock<T, T>, System::Threading::Tasks::Dataflow::IReceivableSourceBlock<T>, System::Threading::Tasks::Dataflow::ISourceBlock<T>, System::Threading::Tasks::Dataflow::ITargetBlock<T>
public sealed class BufferBlock<T> : System.Threading.Tasks.Dataflow.IPropagatorBlock<T,T>, System.Threading.Tasks.Dataflow.IReceivableSourceBlock<T>, System.Threading.Tasks.Dataflow.ISourceBlock<T>, System.Threading.Tasks.Dataflow.ITargetBlock<T>
type BufferBlock<'T> = class
interface IPropagatorBlock<'T, 'T>
interface ITargetBlock<'T>
interface IDataflowBlock
interface ISourceBlock<'T>
interface IReceivableSourceBlock<'T>
Public NotInheritable Class BufferBlock(Of T)
Implements IPropagatorBlock(Of T, T), IReceivableSourceBlock(Of T), ISourceBlock(Of T), ITargetBlock(Of T)
Paramètres de type
- T
Spécifie le type de données mis en mémoire tampon par ce bloc de flux de données.
- Héritage
-
BufferBlock<T>
- 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.
Constructeurs
| Nom | Description |
|---|---|
| BufferBlock<T>() |
Initialise un nouveau BufferBlock<T>. |
| BufferBlock<T>(DataflowBlockOptions) |
Initialise un nouveau BufferBlock<T> avec le fichier spécifié DataflowBlockOptions. |
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. |
| Count |
Obtient le nombre d’éléments actuellement stockés dans la mémoire tampon. |
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. |
| Equals(Object) |
Détermine si l’objet spécifié est égal à l’objet actuel. (Hérité de Object) |
| GetHashCode() |
Sert de fonction de hachage par défaut. (Hérité de Object) |
| GetType() |
Obtient la Type de l’instance actuelle. (Hérité de Object) |
| LinkTo(ITargetBlock<T>, DataflowLinkOptions) |
Lie le ISourceBlock<TOutput> fichier vers le fichier spécifié ITargetBlock<TInput>. |
| MemberwiseClone() |
Crée une copie superficielle du Objectactuel. (Hérité de Object) |
| ToString() |
Retourne une chaîne qui représente le nom mis en forme de cette IDataflowBlock instance. |
| TryReceive(Predicate<T>, T) |
Tente de recevoir de manière synchrone un élément de sortie disponible à partir du IReceivableSourceBlock<TOutput>. |
| TryReceiveAll(IList<T>) |
Tente de recevoir de manière synchrone tous les éléments disponibles à partir du IReceivableSourceBlock<TOutput>. |
Implémentations d’interfaces explicites
| Nom | Description |
|---|---|
| IDataflowBlock.Fault(Exception) |
Provoque la IDataflowBlock fin dans un Faulted état. |
| ISourceBlock<T>.ConsumeMessage(DataflowMessageHeader, ITargetBlock<T>, Boolean) |
Appelé par un lié ITargetBlock<TInput> à accepter et consommer un DataflowMessageHeader précédemment proposé par ce ISourceBlock<TOutput>. |
| ISourceBlock<T>.ReleaseReservation(DataflowMessageHeader, ITargetBlock<T>) |
Appelé par un lien ITargetBlock<TInput> pour libérer un précédemment réservé DataflowMessageHeader par ce ISourceBlock<TOutput>. |
| ISourceBlock<T>.ReserveMessage(DataflowMessageHeader, ITargetBlock<T>) |
Appelé par un lié ITargetBlock<TInput> à réserver un précédemment offert DataflowMessageHeader par ce ISourceBlock<TOutput>. |
| ITargetBlock<T>.OfferMessage(DataflowMessageHeader, T, ISourceBlock<T>, Boolean) |
Offre un message au ITargetBlock<TInput>, donnant à la cible la possibilité de consommer ou de reporter le message. |
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. |
| TryReceive<TOutput>(IReceivableSourceBlock<TOutput>, TOutput) |
Tente de recevoir de façon synchrone un élément à partir du ISourceBlock<TOutput>. |