BufferBlock<T> Klasse
Definition
Wichtig
Einige Informationen beziehen sich auf Vorabversionen, die vor dem Release ggf. grundlegend überarbeitet werden. Microsoft übernimmt hinsichtlich der hier bereitgestellten Informationen keine Gewährleistungen, seien sie ausdrücklich oder konkludent.
Stellt einen Puffer zum Speichern von Daten für einen Datenfluss bereit.
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>
type BufferBlock<'T> = class
interface IDataflowBlock
interface IPropagatorBlock<'T, 'T>
interface ISourceBlock<'T>
interface ITargetBlock<'T>
interface IReceivableSourceBlock<'T>
Public NotInheritable Class BufferBlock(Of T)
Implements IPropagatorBlock(Of T, T), IReceivableSourceBlock(Of T), ISourceBlock(Of T), ITargetBlock(Of T)
Typparameter
- T
Gibt den Typ der Daten an, die von diesem Datenflussblock gepuffert werden.
- Vererbung
-
BufferBlock<T>
- Implementiert
Hinweise
Note
Die TPL Dataflow Library (der System.Threading.Tasks.Dataflow Namespace) wird nicht mit .NET verteilt. Um den System.Threading.Tasks.Dataflow Namespace in Visual Studio zu installieren, öffnen Sie Ihr Projekt, wählen Sie "NuGet-Pakete verwalten " im Menü "Projekt " aus, und suchen Sie online nach dem System.Threading.Tasks.Dataflow Paket. Führen Sie alternativ das .NET Core CLI aus, um es zu installieren, indem Sie dotnet add package System.Threading.Tasks.Dataflow ausführen.
Konstruktoren
| Name | Beschreibung |
|---|---|
| BufferBlock<T>() |
Initialisiert ein neues BufferBlock<T>. |
| BufferBlock<T>(DataflowBlockOptions) |
Initialisiert ein neues BufferBlock<T> mit dem angegebenen DataflowBlockOptions. |
Eigenschaften
| Name | Beschreibung |
|---|---|
| Completion |
Ruft einen Task , der den asynchronen Vorgang und den Abschluss des Datenflussblocks darstellt. |
| Count |
Ruft die Anzahl der elemente ab, die derzeit im Puffer gespeichert sind. |
Methoden
| Name | Beschreibung |
|---|---|
| Complete() |
Signalisiert, IDataflowBlock dass sie weder mehr Nachrichten akzeptieren noch mehr nachrichten produzieren sollte, noch mehr verschobene Nachrichten verbrauchen. |
| Equals(Object) |
Bestimmt, ob das angegebene Objekt dem aktuellen Objekt entspricht. (Geerbt von Object) |
| GetHashCode() |
Dient als Standardhashfunktion. (Geerbt von Object) |
| GetType() |
Ruft die Type der aktuellen Instanz ab. (Geerbt von Object) |
| LinkTo(ITargetBlock<T>, DataflowLinkOptions) |
Verknüpft den ISourceBlock<TOutput> angegebenen ITargetBlock<TInput>Wert. |
| MemberwiseClone() |
Erstellt eine flache Kopie der aktuellen Object. (Geerbt von Object) |
| ToString() |
Gibt eine Zeichenfolge zurück, die den formatierten Namen dieser IDataflowBlock Instanz darstellt. |
| TryReceive(Predicate<T>, T) |
Versucht, synchron ein verfügbares Ausgabeelement von der IReceivableSourceBlock<TOutput>. |
| TryReceiveAll(IList<T>) |
Versucht, alle verfügbaren Elemente synchron von der IReceivableSourceBlock<TOutput>. |
Explizite Schnittstellenimplementierungen
Erweiterungsmethoden
| Name | Beschreibung |
|---|---|
| AsObservable<TOutput>(ISourceBlock<TOutput>) |
Erstellt eine neue IObservable<T> Abstraktion über dem ISourceBlock<TOutput>. |
| AsObserver<TInput>(ITargetBlock<TInput>) |
Erstellt eine neue IObserver<T> Abstraktion über dem ITargetBlock<TInput>. |
| LinkTo<TOutput>(ISourceBlock<TOutput>, ITargetBlock<TOutput>, DataflowLinkOptions, Predicate<TOutput>) |
Verknüpft den ISourceBlock<TOutput> angegebenen Filter mit dem angegebenen ITargetBlock<TInput> Filter. |
| LinkTo<TOutput>(ISourceBlock<TOutput>, ITargetBlock<TOutput>, Predicate<TOutput>) |
Verknüpft den ISourceBlock<TOutput> angegebenen Filter mit dem angegebenen ITargetBlock<TInput> Filter. |
| LinkTo<TOutput>(ISourceBlock<TOutput>, ITargetBlock<TOutput>) |
Verknüpft den ISourceBlock<TOutput> angegebenen ITargetBlock<TInput>Wert. |
| OutputAvailableAsync<TOutput>(ISourceBlock<TOutput>, CancellationToken) |
Stellt eine Bereit Task<TResult> , die die Quelle asynchron auf die verfügbare Ausgabe überwacht. |
| OutputAvailableAsync<TOutput>(ISourceBlock<TOutput>) |
Stellt eine Bereit Task<TResult> , die die Quelle asynchron auf die verfügbare Ausgabe überwacht. |
| Post<TInput>(ITargetBlock<TInput>, TInput) |
Stellt ein Element in das ITargetBlock<TInput>. |
| Receive<TOutput>(ISourceBlock<TOutput>, CancellationToken) |
Empfängt synchron einen Wert aus einer angegebenen Quelle und stellt ein Token zum Abbrechen des Vorgangs bereit. |
| Receive<TOutput>(ISourceBlock<TOutput>, TimeSpan, CancellationToken) |
Empfängt synchron einen Wert aus einer angegebenen Quelle und stellt ein Token bereit, um den Vorgang abzubrechen und ein optionales Timeoutintervall zu beobachten. |
| Receive<TOutput>(ISourceBlock<TOutput>, TimeSpan) |
Empfängt synchron einen Wert aus einer angegebenen Quelle, wobei ein optionaler Timeoutzeitraum beobachtet wird. |
| Receive<TOutput>(ISourceBlock<TOutput>) |
Empfängt synchron einen Wert aus einer angegebenen Quelle. |
| ReceiveAllAsync<TOutput>(IReceivableSourceBlock<TOutput>, CancellationToken) |
Erstellt eine IAsyncEnumerable<T> , die das Empfangen aller Daten aus der Quelle ermöglicht. |
| ReceiveAsync<TOutput>(ISourceBlock<TOutput>, CancellationToken) |
Empfängt asynchron einen Wert aus einer angegebenen Quelle und stellt ein Token zum Abbrechen des Vorgangs bereit. |
| ReceiveAsync<TOutput>(ISourceBlock<TOutput>, TimeSpan, CancellationToken) |
Empfängt asynchron einen Wert aus einer angegebenen Quelle und stellt ein Token bereit, um den Vorgang abzubrechen und ein optionales Timeoutintervall zu beobachten. |
| ReceiveAsync<TOutput>(ISourceBlock<TOutput>, TimeSpan) |
Empfängt asynchron einen Wert aus einer angegebenen Quelle, wobei ein optionaler Timeoutzeitraum beobachtet wird. |
| ReceiveAsync<TOutput>(ISourceBlock<TOutput>) |
Empfängt asynchron einen Wert aus einer angegebenen Quelle. |
| SendAsync<TInput>(ITargetBlock<TInput>, TInput, CancellationToken) |
Bietet asynchron eine Nachricht an den Zielnachrichtenblock, sodass eine Verschiebung möglich ist. |
| SendAsync<TInput>(ITargetBlock<TInput>, TInput) |
Bietet asynchron eine Nachricht an den Zielnachrichtenblock, sodass eine Verschiebung möglich ist. |
| TryReceive<TOutput>(IReceivableSourceBlock<TOutput>, TOutput) |
Versucht, ein Element synchron von der ISourceBlock<TOutput>. |