BufferBlock<T> Klass
Definition
Viktigt
En del information gäller för förhandsversionen av en produkt och kan komma att ändras avsevärt innan produkten blir allmänt tillgänglig. Microsoft lämnar inga garantier, uttryckliga eller underförstådda, avseende informationen som visas här.
Tillhandahåller en buffert för lagring av data för ett dataflöde.
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)
Typparametrar
- T
Anger vilken typ av data som buffras av det här dataflödesblocket.
- Arv
-
BufferBlock<T>
- Implementeringar
Kommentarer
Note
TPL-dataflödesbiblioteket (System.Threading.Tasks.Dataflow-namnområdet) distribueras inte med .NET. Om du vill installera System.Threading.Tasks.Dataflow-namnområdet i Visual Studio öppnar du projektet, väljer Hantera NuGet-paket från menyn Project och söker online efter System.Threading.Tasks.Dataflow-paketet. Alternativt, för att installera det med hjälp av .NET Core CLI, kör dotnet add package System.Threading.Tasks.Dataflow.
Konstruktorer
| Name | Description |
|---|---|
| BufferBlock<T>() |
Initierar en ny BufferBlock<T>. |
| BufferBlock<T>(DataflowBlockOptions) |
Initierar en ny BufferBlock<T> med angiven DataflowBlockOptions. |
Egenskaper
| Name | Description |
|---|---|
| Completion |
Hämtar en Task som representerar den asynkrona åtgärden och slutförandet av dataflödesblocket. |
| Count |
Hämtar det antal objekt som för närvarande lagras i bufferten. |
Metoder
| Name | Description |
|---|---|
| Complete() |
Signaler till att den IDataflowBlock inte bör acceptera eller producera fler meddelanden eller förbruka fler uppskjutna meddelanden. |
| Equals(Object) |
Avgör om det angivna objektet är lika med det aktuella objektet. (Ärvd från Object) |
| GetHashCode() |
Fungerar som standard-hash-funktion. (Ärvd från Object) |
| GetType() |
Hämtar den aktuella instansen Type . (Ärvd från Object) |
| LinkTo(ITargetBlock<T>, DataflowLinkOptions) |
ISourceBlock<TOutput> Länkar till angiven ITargetBlock<TInput>. |
| MemberwiseClone() |
Skapar en ytlig kopia av den aktuella Object. (Ärvd från Object) |
| ToString() |
Returnerar en sträng som representerar det formaterade namnet på den här IDataflowBlock instansen. |
| TryReceive(Predicate<T>, T) |
Försök att synkront ta emot ett tillgängligt utdataobjekt från IReceivableSourceBlock<TOutput>. |
| TryReceiveAll(IList<T>) |
Försöker ta emot alla tillgängliga objekt synkront från IReceivableSourceBlock<TOutput>. |
Explicita gränssnittsimplementeringar
| Name | Description |
|---|---|
| IDataflowBlock.Fault(Exception) |
Gör att den IDataflowBlock slutförs i ett Faulted tillstånd. |
| ISourceBlock<T>.ConsumeMessage(DataflowMessageHeader, ITargetBlock<T>, Boolean) |
Anropas av en länkad ITargetBlock<TInput> för att acceptera och använda en DataflowMessageHeader tidigare erbjuden av denna ISourceBlock<TOutput>. |
| ISourceBlock<T>.ReleaseReservation(DataflowMessageHeader, ITargetBlock<T>) |
Anropas av en länkad ITargetBlock<TInput> för att släppa en tidigare reserverad DataflowMessageHeader av denna ISourceBlock<TOutput>. |
| ISourceBlock<T>.ReserveMessage(DataflowMessageHeader, ITargetBlock<T>) |
Anropas av en länkad ITargetBlock<TInput> till reservera en tidigare erbjuden DataflowMessageHeader av denna ISourceBlock<TOutput>. |
| ITargetBlock<T>.OfferMessage(DataflowMessageHeader, T, ISourceBlock<T>, Boolean) |
Erbjuder ett meddelande till ITargetBlock<TInput>, vilket ger målet möjlighet att använda eller skjuta upp meddelandet. |
Tilläggsmetoder
| Name | Description |
|---|---|
| AsObservable<TOutput>(ISourceBlock<TOutput>) |
Skapar en ny IObservable<T> abstraktion över ISourceBlock<TOutput>. |
| AsObserver<TInput>(ITargetBlock<TInput>) |
Skapar en ny IObserver<T> abstraktion över ITargetBlock<TInput>. |
| LinkTo<TOutput>(ISourceBlock<TOutput>, ITargetBlock<TOutput>, DataflowLinkOptions, Predicate<TOutput>) |
ISourceBlock<TOutput> Länkar till det angivna ITargetBlock<TInput> med det angivna filtret. |
| LinkTo<TOutput>(ISourceBlock<TOutput>, ITargetBlock<TOutput>, Predicate<TOutput>) |
ISourceBlock<TOutput> Länkar till det angivna ITargetBlock<TInput> med det angivna filtret. |
| LinkTo<TOutput>(ISourceBlock<TOutput>, ITargetBlock<TOutput>) |
ISourceBlock<TOutput> Länkar till angiven ITargetBlock<TInput>. |
| OutputAvailableAsync<TOutput>(ISourceBlock<TOutput>, CancellationToken) |
Tillhandahåller en Task<TResult> som asynkront övervakar källan för tillgängliga utdata. |
| OutputAvailableAsync<TOutput>(ISourceBlock<TOutput>) |
Tillhandahåller en Task<TResult> som asynkront övervakar källan för tillgängliga utdata. |
| Post<TInput>(ITargetBlock<TInput>, TInput) |
Publicerar ett objekt i ITargetBlock<TInput>. |
| Receive<TOutput>(ISourceBlock<TOutput>, CancellationToken) |
Tar synkront emot ett värde från en angiven källa och tillhandahåller en token för att avbryta åtgärden. |
| Receive<TOutput>(ISourceBlock<TOutput>, TimeSpan, CancellationToken) |
Tar synkront emot ett värde från en angiven källa, vilket ger en token för att avbryta åtgärden och observerar ett valfritt tidsgränsintervall. |
| Receive<TOutput>(ISourceBlock<TOutput>, TimeSpan) |
Tar synkront emot ett värde från en angiven källa och observerar en valfri tidsgräns. |
| Receive<TOutput>(ISourceBlock<TOutput>) |
Tar synkront emot ett värde från en angiven källa. |
| ReceiveAllAsync<TOutput>(IReceivableSourceBlock<TOutput>, CancellationToken) |
Skapar en IAsyncEnumerable<T> som gör det möjligt att ta emot alla data från källan. |
| ReceiveAsync<TOutput>(ISourceBlock<TOutput>, CancellationToken) |
Tar asynkront emot ett värde från en angiven källa och tillhandahåller en token för att avbryta åtgärden. |
| ReceiveAsync<TOutput>(ISourceBlock<TOutput>, TimeSpan, CancellationToken) |
Asynkront tar emot ett värde från en angiven källa, vilket ger en token för att avbryta åtgärden och observera ett valfritt tidsgränsintervall. |
| ReceiveAsync<TOutput>(ISourceBlock<TOutput>, TimeSpan) |
Tar asynkront emot ett värde från en angiven källa och observerar en valfri tidsgräns. |
| ReceiveAsync<TOutput>(ISourceBlock<TOutput>) |
Tar asynkront emot ett värde från en angiven källa. |
| SendAsync<TInput>(ITargetBlock<TInput>, TInput, CancellationToken) |
Asynkront erbjuder ett meddelande till målmeddelandeblocket, vilket möjliggör senareläggning. |
| SendAsync<TInput>(ITargetBlock<TInput>, TInput) |
Asynkront erbjuder ett meddelande till målmeddelandeblocket, vilket möjliggör senareläggning. |
| TryReceive<TOutput>(IReceivableSourceBlock<TOutput>, TOutput) |
Försöker ta emot ett objekt synkront från ISourceBlock<TOutput>. |