Sdílet prostřednictvím


WriteOnceBlock<T> Třída

Definice

Poskytuje vyrovnávací paměť pro příjem a ukládání maximálně jednoho prvku v síti bloků toku dat.

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

Určuje typ dat uložených v vyrovnávací paměti tohoto bloku toku dat.

Dědičnost
WriteOnceBlock<T>
Implementuje

Poznámky

Poznámka

Knihovna TPL Dataflow ( System.Threading.Tasks.Dataflow obor názvů) není distribuována s rozhraním .NET. Chcete-li System.Threading.Tasks.Dataflow v aplikaci Visual Studio nainstalovat obor názvů, otevřete projekt, v nabídce projekt vyberte možnost Spravovat balíčky NuGet a vyhledejte balíček online System.Threading.Tasks.Dataflow . Případně ho můžete nainstalovat pomocí .NET Core CLIspuštěním dotnet add package System.Threading.Tasks.Dataflow .

Konstruktory

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

Inicializuje nový WriteOnceBlock<T>.

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

Inicializuje novou WriteOnceBlock<T> se zadaným DataflowBlockOptions.

Vlastnosti

Completion

Task Získá, který představuje asynchronní operaci a dokončení bloku toku dat.

Metody

Complete()

Signály pro IDataflowBlock to, že by neměla přijímat ani vytvářet žádné další zprávy ani využívat žádné odložené zprávy.

Equals(Object)

Určí, zda se zadaný objekt rovná aktuálnímu objektu.

(Zděděno od Object)
GetHashCode()

Slouží jako výchozí funkce hash.

(Zděděno od Object)
GetType()

Type Získá aktuální instanci.

(Zděděno od Object)
LinkTo(ITargetBlock<T>, DataflowLinkOptions)

Odkazuje na ISourceBlock<TOutput> zadanou ITargetBlock<TInput> .

MemberwiseClone()

Vytvoří použádnou kopii aktuálního souboru Object.

(Zděděno od Object)
ToString()

Vrátí řetězec, který představuje formátovaný název této IDataflowBlock instance.

TryReceive(Predicate<T>, T)

Pokusí se synchronně přijmout dostupnou výstupní položku z objektu IReceivableSourceBlock<TOutput>.

Explicitní implementace rozhraní

IDataflowBlock.Fault(Exception)

Způsobí, že IDataflowBlock se dokončí ve Faulted stavu.

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

Pokusí se synchronně přijímat všechny dostupné položky z .IReceivableSourceBlock<TOutput>

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

Volá se odkazem ITargetBlock<TInput> na přijetí a využívání DataflowMessageHeader dříve nabízeného ISourceBlock<TOutput>.

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

Volal by odkaz ITargetBlock<TInput> na vydání dříve rezervované DataflowMessageHeader tímto ISourceBlock<TOutput>.

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

Volal by odkaz ITargetBlock<TInput> na rezervaci dříve nabízené DataflowMessageHeader tímto ISourceBlock<TOutput>.

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

Nabízí zprávu ITargetBlock<TInput>, která dává cíli možnost využívat nebo odložit zprávu.

Metody rozšíření

AsObservable<TOutput>(ISourceBlock<TOutput>)

Vytvoří novou IObservable<T> abstrakci nad .ISourceBlock<TOutput>

AsObserver<TInput>(ITargetBlock<TInput>)

Vytvoří novou IObserver<T> abstrakci nad .ITargetBlock<TInput>

LinkTo<TOutput>(ISourceBlock<TOutput>, ITargetBlock<TOutput>)

ISourceBlock<TOutput> Odkazuje na zadané ITargetBlock<TInput>.

LinkTo<TOutput>(ISourceBlock<TOutput>, ITargetBlock<TOutput>, Predicate<TOutput>)

ISourceBlock<TOutput> Odkazuje na zadaný ITargetBlock<TInput> filtr.

LinkTo<TOutput>(ISourceBlock<TOutput>, ITargetBlock<TOutput>, DataflowLinkOptions, Predicate<TOutput>)

ISourceBlock<TOutput> Odkazuje na zadaný ITargetBlock<TInput> filtr.

OutputAvailableAsync<TOutput>(ISourceBlock<TOutput>)

Task<TResult> Poskytuje, že asynchronně monitoruje zdroj pro dostupný výstup.

OutputAvailableAsync<TOutput>(ISourceBlock<TOutput>, CancellationToken)

Task<TResult> Poskytuje, že asynchronně monitoruje zdroj pro dostupný výstup.

Post<TInput>(ITargetBlock<TInput>, TInput)

Publikuje položku do souboru ITargetBlock<TInput>.

Receive<TOutput>(ISourceBlock<TOutput>)

Synchronně přijímá hodnotu ze zadaného zdroje.

Receive<TOutput>(ISourceBlock<TOutput>, CancellationToken)

Synchronně přijímá hodnotu ze zadaného zdroje a poskytuje token pro zrušení operace.

Receive<TOutput>(ISourceBlock<TOutput>, TimeSpan)

Synchronně přijímá hodnotu ze zadaného zdroje a sleduje volitelnou dobu časového limitu.

Receive<TOutput>(ISourceBlock<TOutput>, TimeSpan, CancellationToken)

Synchronně přijímá hodnotu ze zadaného zdroje a poskytuje token pro zrušení operace a sledování volitelného intervalu časového limitu.

ReceiveAllAsync<TOutput>(IReceivableSourceBlock<TOutput>, CancellationToken)

Vytvoří objekt IAsyncEnumerable<T> , který umožňuje přijímat všechna data ze zdroje.

ReceiveAsync<TOutput>(ISourceBlock<TOutput>)

Asynchronně přijímá hodnotu ze zadaného zdroje.

ReceiveAsync<TOutput>(ISourceBlock<TOutput>, CancellationToken)

Asynchronně přijímá hodnotu ze zadaného zdroje a poskytuje token pro zrušení operace.

ReceiveAsync<TOutput>(ISourceBlock<TOutput>, TimeSpan)

Asynchronně přijímá hodnotu ze zadaného zdroje a sleduje volitelnou dobu časového limitu.

ReceiveAsync<TOutput>(ISourceBlock<TOutput>, TimeSpan, CancellationToken)

Asynchronně přijímá hodnotu ze zadaného zdroje a poskytuje token pro zrušení operace a sledování volitelného intervalu časového limitu.

SendAsync<TInput>(ITargetBlock<TInput>, TInput)

Asynchronně nabízí zprávu cílovému bloku zprávy, což umožňuje odložení.

SendAsync<TInput>(ITargetBlock<TInput>, TInput, CancellationToken)

Asynchronně nabízí zprávu cílovému bloku zprávy, což umožňuje odložení.

TryReceive<TOutput>(IReceivableSourceBlock<TOutput>, TOutput)

Pokusí se synchronně přijmout položku z objektu ISourceBlock<TOutput>.

Platí pro