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

Note

Knihovna toku dat TPL (jmenný prostor System.Threading.Tasks.Dataflow) není distribuována s .NET. Pokud chcete nainstalovat obor názvů System.Threading.Tasks.Dataflow v sadě Visual Studio, otevřete projekt, zvolte v nabídce Projekt možnost Spravovat balíčky NuGet a balíček System.Threading.Tasks.Dataflow vyhledejte online. Případně ji můžete nainstalovat pomocí rozhraní příkazového řádku .NET Core, spusťte dotnet add package System.Threading.Tasks.Dataflow.

Konstruktory

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

Inicializuje nový WriteOnceBlock<T> pomocí zadaného DataflowBlockOptions.

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

Inicializuje nový WriteOnceBlock<T>.

Vlastnosti

Name Description
Completion

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

Metody

Name Description
Complete()

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

Equals(Object)

Určuje, zda je zadaný objekt roven aktuálnímu objektu.

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

Slouží jako výchozí funkce hash.

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

Získá Type aktuální instance.

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

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

MemberwiseClone()

Vytvoří mělkou kopii aktuálního 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í

Name Description
IDataflowBlock.Fault(Exception)

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

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

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

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

Volal odkaz ITargetBlock<TInput> , aby přijímal a spotřebovával DataflowMessageHeader dříve nabízené tímto 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á cíli dává příležitost využívat nebo odložit zprávu.

Metody rozšíření

Name Description
AsObservable<TOutput>(ISourceBlock<TOutput>)

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

AsObserver<TInput>(ITargetBlock<TInput>)

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

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

Pro propojení se ISourceBlock<TOutput> zadaným ITargetBlock<TInput> filtrem.

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

Pro propojení se ISourceBlock<TOutput> zadaným ITargetBlock<TInput> filtrem.

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

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

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

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

OutputAvailableAsync<TOutput>(ISourceBlock<TOutput>)

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>, CancellationToken)

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

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.

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

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

Receive<TOutput>(ISourceBlock<TOutput>)

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

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

Vytvoří objekt IAsyncEnumerable<T> , který umožňuje přijímat všechna data ze 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, 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.

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

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

ReceiveAsync<TOutput>(ISourceBlock<TOutput>)

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

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

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

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

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