BroadcastBlock<T> Klasa
Definicja
Ważne
Niektóre informacje odnoszą się do produktu w wersji wstępnej, który może zostać znacząco zmodyfikowany przed wydaniem. Firma Microsoft nie udziela żadnych gwarancji, jawnych lub domniemanych, w odniesieniu do informacji podanych w tym miejscu.
Zapewnia bufor do przechowywania co najwyżej jednego elementu w czasie, zastępowania każdego komunikatu przy następnym nadejściu.
generic <typename T>
public ref class BroadcastBlock 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 BroadcastBlock<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 BroadcastBlock<'T> = class
interface IPropagatorBlock<'T, 'T>
interface ITargetBlock<'T>
interface IDataflowBlock
interface ISourceBlock<'T>
interface IReceivableSourceBlock<'T>
type BroadcastBlock<'T> = class
interface IDataflowBlock
interface IPropagatorBlock<'T, 'T>
interface ISourceBlock<'T>
interface ITargetBlock<'T>
interface IReceivableSourceBlock<'T>
Public NotInheritable Class BroadcastBlock(Of T)
Implements IPropagatorBlock(Of T, T), IReceivableSourceBlock(Of T), ISourceBlock(Of T), ITargetBlock(Of T)
Parametry typu
- T
Określa typ danych buforowanych przez ten blok przepływu danych.
- Dziedziczenie
-
BroadcastBlock<T>
- Implementuje
Uwagi
Uwaga
Biblioteka przepływu danych TPL ( System.Threading.Tasks.Dataflow przestrzeń nazw) nie jest dystrybuowana za pomocą platformy .NET. Aby zainstalować System.Threading.Tasks.Dataflow przestrzeń nazw w programie Visual Studio, otwórz projekt, wybierz pozycję Zarządzaj pakietami NuGet z menu Project i wyszukaj pakiet w trybie online System.Threading.Tasks.Dataflow
. Alternatywnie, aby zainstalować go przy użyciu interfejsu wiersza polecenia platformy .NET Core, uruchom polecenie dotnet add package System.Threading.Tasks.Dataflow
.
BroadcastBlock<T> uwidacznia co najwyżej jeden element naraz. Jednak w przeciwieństwie do WriteOnceBlock<T>elementu , ten element zostanie zastąpiony jako nowe elementy są dostarczane do bloku. BroadcastBlock<T> zapewnia, że bieżący element jest emitowany do wszystkich połączonych obiektów docelowych przed zezwoleniem na zastąpienie elementu.
Konstruktory
BroadcastBlock<T>(Func<T,T>) |
Inicjuje BroadcastBlock<T> element z określoną funkcją klonowania. |
BroadcastBlock<T>(Func<T,T>, DataflowBlockOptions) |
Inicjuje BroadcastBlock<T> element za pomocą określonej funkcji klonowania i DataflowBlockOptions. |
Właściwości
Completion |
Pobiera element reprezentujący operację Task asynchroniczną i ukończenie bloku przepływu danych. |
Metody
Complete() |
Sygnały do IDataflowBlock tego, że nie powinny akceptować ani tworzyć więcej komunikatów, ani nie zużywać żadnych bardziej odroczonych komunikatów. |
Equals(Object) |
Określa, czy dany obiekt jest taki sam, jak bieżący obiekt. (Odziedziczone po Object) |
GetHashCode() |
Służy jako domyślna funkcja skrótu. (Odziedziczone po Object) |
GetType() |
Type Pobiera bieżące wystąpienie. (Odziedziczone po Object) |
LinkTo(ITargetBlock<T>, DataflowLinkOptions) |
Łączy element ISourceBlock<TOutput> z określonym ITargetBlock<TInput>elementem . |
MemberwiseClone() |
Tworzy płytkią kopię bieżącego Objectelementu . (Odziedziczone po Object) |
ToString() |
Zwraca ciąg reprezentujący sformatowaną nazwę tego IDataflowBlock wystąpienia. |
TryReceive(Predicate<T>, T) |
Próbuje synchronicznie odebrać dostępny element wyjściowy z elementu IReceivableSourceBlock<TOutput>. |
Jawne implementacje interfejsu
Metody rozszerzania
AsObservable<TOutput>(ISourceBlock<TOutput>) |
Tworzy nową IObservable<T> abstrakcję nad elementem ISourceBlock<TOutput>. |
AsObserver<TInput>(ITargetBlock<TInput>) |
Tworzy nową IObserver<T> abstrakcję nad elementem ITargetBlock<TInput>. |
LinkTo<TOutput>(ISourceBlock<TOutput>, ITargetBlock<TOutput>) |
Łączy element ISourceBlock<TOutput> z określonym ITargetBlock<TInput>elementem . |
LinkTo<TOutput>(ISourceBlock<TOutput>, ITargetBlock<TOutput>, Predicate<TOutput>) |
Łączy element ISourceBlock<TOutput> z określonym ITargetBlock<TInput> filtrem przy użyciu określonego filtru. |
LinkTo<TOutput>(ISourceBlock<TOutput>, ITargetBlock<TOutput>, DataflowLinkOptions, Predicate<TOutput>) |
Łączy element ISourceBlock<TOutput> z określonym ITargetBlock<TInput> filtrem przy użyciu określonego filtru. |
OutputAvailableAsync<TOutput>(ISourceBlock<TOutput>) |
Task<TResult> Zapewnia, że asynchronicznie monitoruje źródło dostępnych danych wyjściowych. |
OutputAvailableAsync<TOutput>(ISourceBlock<TOutput>, CancellationToken) |
Task<TResult> Zapewnia, że asynchronicznie monitoruje źródło dostępnych danych wyjściowych. |
Post<TInput>(ITargetBlock<TInput>, TInput) |
Publikuje element w elemencie ITargetBlock<TInput>. |
Receive<TOutput>(ISourceBlock<TOutput>) |
Synchronicznie odbiera wartość z określonego źródła. |
Receive<TOutput>(ISourceBlock<TOutput>, CancellationToken) |
Synchronicznie odbiera wartość z określonego źródła i udostępnia token do anulowania operacji. |
Receive<TOutput>(ISourceBlock<TOutput>, TimeSpan) |
Synchronicznie odbiera wartość z określonego źródła, obserwując opcjonalny okres przekroczenia limitu czasu. |
Receive<TOutput>(ISourceBlock<TOutput>, TimeSpan, CancellationToken) |
Synchronicznie odbiera wartość z określonego źródła, zapewniając token umożliwiający anulowanie operacji i obserwowanie opcjonalnego interwału przekroczenia limitu czasu. |
ReceiveAllAsync<TOutput>(IReceivableSourceBlock<TOutput>, CancellationToken) |
Tworzy obiekt IAsyncEnumerable<T> , który umożliwia odbieranie wszystkich danych ze źródła. |
ReceiveAsync<TOutput>(ISourceBlock<TOutput>) |
Asynchronicznie odbiera wartość z określonego źródła. |
ReceiveAsync<TOutput>(ISourceBlock<TOutput>, CancellationToken) |
Asynchronicznie odbiera wartość z określonego źródła i udostępnia token do anulowania operacji. |
ReceiveAsync<TOutput>(ISourceBlock<TOutput>, TimeSpan) |
Asynchronicznie odbiera wartość z określonego źródła, obserwując opcjonalny okres przekroczenia limitu czasu. |
ReceiveAsync<TOutput>(ISourceBlock<TOutput>, TimeSpan, CancellationToken) |
Asynchronicznie odbiera wartość z określonego źródła, zapewniając token umożliwiający anulowanie operacji i obserwowanie opcjonalnego interwału przekroczenia limitu czasu. |
SendAsync<TInput>(ITargetBlock<TInput>, TInput) |
Asynchronicznie oferuje komunikat do docelowego bloku komunikatów, co pozwala na odroczenie. |
SendAsync<TInput>(ITargetBlock<TInput>, TInput, CancellationToken) |
Asynchronicznie oferuje komunikat do docelowego bloku komunikatów, co pozwala na odroczenie. |
TryReceive<TOutput>(IReceivableSourceBlock<TOutput>, TOutput) |
Próbuje synchronicznie odebrać element z elementu ISourceBlock<TOutput>. |