Udostępnij za pośrednictwem


WriteOnceBlock<T> Klasa

Definicja

Zapewnia bufor do odbierania i przechowywania co najwyżej jednego elementu w sieci bloków przepływu danych.

generic <typename T>
public ref class WriteOnceBlock 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 WriteOnceBlock<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 WriteOnceBlock<'T> = class
    interface IPropagatorBlock<'T, 'T>
    interface ITargetBlock<'T>
    interface IDataflowBlock
    interface ISourceBlock<'T>
    interface IReceivableSourceBlock<'T>
type WriteOnceBlock<'T> = class
    interface IDataflowBlock
    interface IPropagatorBlock<'T, 'T>
    interface ISourceBlock<'T>
    interface ITargetBlock<'T>
    interface IReceivableSourceBlock<'T>
Public NotInheritable Class WriteOnceBlock(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
WriteOnceBlock<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.

Konstruktory

WriteOnceBlock<T>(Func<T,T>)

Inicjuje nowy WriteOnceBlock<T>element .

WriteOnceBlock<T>(Func<T,T>, DataflowBlockOptions)

Inicjuje nowy WriteOnceBlock<T> element o określonej wartości 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

IDataflowBlock.Fault(Exception)

IDataflowBlock Powoduje ukończenie Faulted operacji w stanie.

IReceivableSourceBlock<T>.TryReceiveAll(IList<T>)

Próbuje synchronicznie odebrać wszystkie dostępne elementy z elementu IReceivableSourceBlock<TOutput>.

ISourceBlock<T>.ConsumeMessage(DataflowMessageHeader, ITargetBlock<T>, Boolean)

Wywołana przez link ITargetBlock<TInput> do akceptowania i korzystania z wcześniej oferowanej przez tę ISourceBlock<TOutput>usługę DataflowMessageHeader .

ISourceBlock<T>.ReleaseReservation(DataflowMessageHeader, ITargetBlock<T>)

Wywoływana przez połączony ITargetBlock<TInput> element z wydaniem wcześniej zastrzeżonym DataflowMessageHeader przez ten ISourceBlock<TOutput>element .

ISourceBlock<T>.ReserveMessage(DataflowMessageHeader, ITargetBlock<T>)

Wywoływana przez połączonego ITargetBlock<TInput> z rezerwą wcześniej oferowaną DataflowMessageHeader przez tę ISourceBlock<TOutput>usługę .

ITargetBlock<T>.OfferMessage(DataflowMessageHeader, T, ISourceBlock<T>, Boolean)

Oferuje komunikat do ITargetBlock<TInput>obiektu , dając docelową możliwość korzystania lub odroczenia wiadomości.

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>.

Dotyczy