BroadcastBlock<T> Classe
Definizione
Importante
Alcune informazioni sono relative alla release non definitiva del prodotto, che potrebbe subire modifiche significative prima della release definitiva. Microsoft non riconosce alcuna garanzia, espressa o implicita, in merito alle informazioni qui fornite.
Fornisce un buffer per l'archiviazione di al massimo un elemento per volta, sovrascrivendo ogni messaggio all'arrivo del successivo.
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)
Parametri di tipo
- T
Specifica il tipo di dati memorizzati nel buffer da questo blocco del flusso di dati.
- Ereditarietà
-
BroadcastBlock<T>
- Implementazioni
Commenti
Nota
La libreria del flusso di dati TPL (spazio dei nomi System.Threading.Tasks.Dataflow) non viene distribuita con .NET. Per installare lo spazio dei nomi System.Threading.Tasks.Dataflow in Visual Studio, aprire il progetto in Visual Studio, scegliere Gestisci pacchetti NuGet dal menu Progetto ed eseguire una ricerca online del pacchetto System.Threading.Tasks.Dataflow
. In alternativa, per installarlo usando l'interfaccia della riga di comando di .NET Core, eseguire dotnet add package System.Threading.Tasks.Dataflow
.
BroadcastBlock<T> espone al massimo un elemento alla volta. Tuttavia, a differenza WriteOnceBlock<T>di , tale elemento verrà sovrascritto come nuovi elementi vengono forniti al blocco. BroadcastBlock<T> assicura che l'elemento corrente venga trasmesso a tutte le destinazioni collegate prima di consentire la sovrascrittura dell'elemento.
Costruttori
BroadcastBlock<T>(Func<T,T>) |
Inizializza l'oggetto BroadcastBlock<T> con la funzione di duplicazione specificata. |
BroadcastBlock<T>(Func<T,T>, DataflowBlockOptions) |
Inizializza con BroadcastBlock<T> la funzione di clonazione specificata e DataflowBlockOptions. |
Proprietà
Completion |
Ottiene un Task che rappresenta l'operazione asincrona e il completamento del blocco di flussi di dati. |
Metodi
Complete() |
Segnala al IDataflowBlock che non deve accettare o produrre altri messaggi e non deve utilizzare altri messaggi posticipati. |
Equals(Object) |
Determina se l'oggetto specificato è uguale all'oggetto corrente. (Ereditato da Object) |
GetHashCode() |
Funge da funzione hash predefinita. (Ereditato da Object) |
GetType() |
Ottiene l'oggetto Type dell'istanza corrente. (Ereditato da Object) |
LinkTo(ITargetBlock<T>, DataflowLinkOptions) |
Collega l'oggetto ISourceBlock<TOutput> all'oggetto specificato ITargetBlock<TInput>. |
MemberwiseClone() |
Crea una copia superficiale dell'oggetto Object corrente. (Ereditato da Object) |
ToString() |
Restituisce una stringa che rappresenta il nome formattato di questa istanza IDataflowBlock. |
TryReceive(Predicate<T>, T) |
Tenta di ricevere in modo sincrono un elemento di output disponibile da IReceivableSourceBlock<TOutput>. |
Implementazioni dell'interfaccia esplicita
Metodi di estensione
AsObservable<TOutput>(ISourceBlock<TOutput>) |
Crea una nuova astrazione IObservable<T> rispetto a ISourceBlock<TOutput>. |
AsObserver<TInput>(ITargetBlock<TInput>) |
Crea una nuova astrazione IObserver<T> rispetto a ITargetBlock<TInput>. |
LinkTo<TOutput>(ISourceBlock<TOutput>, ITargetBlock<TOutput>) |
Collega l'oggetto ISourceBlock<TOutput> all'oggetto specificato ITargetBlock<TInput>. |
LinkTo<TOutput>(ISourceBlock<TOutput>, ITargetBlock<TOutput>, Predicate<TOutput>) |
Collega l'oggetto ISourceBlock<TOutput> all'oggetto specificato ITargetBlock<TInput> utilizzando il filtro specificato. |
LinkTo<TOutput>(ISourceBlock<TOutput>, ITargetBlock<TOutput>, DataflowLinkOptions, Predicate<TOutput>) |
Collega l'oggetto ISourceBlock<TOutput> all'oggetto specificato ITargetBlock<TInput> utilizzando il filtro specificato. |
OutputAvailableAsync<TOutput>(ISourceBlock<TOutput>) |
Fornisce un oggetto Task<TResult> che monitora in modo asincrono l'origine per l'output disponibile. |
OutputAvailableAsync<TOutput>(ISourceBlock<TOutput>, CancellationToken) |
Fornisce un oggetto Task<TResult> che monitora in modo asincrono l'origine per l'output disponibile. |
Post<TInput>(ITargetBlock<TInput>, TInput) |
Inserisce un elemento nell'oggetto ITargetBlock<TInput>. |
Receive<TOutput>(ISourceBlock<TOutput>) |
Riceve un valore in modo sincrono da un'origine specificata. |
Receive<TOutput>(ISourceBlock<TOutput>, CancellationToken) |
Riceve in modo sincrono un valore da un'origine specificata e fornisce un token per annullare l'operazione. |
Receive<TOutput>(ISourceBlock<TOutput>, TimeSpan) |
Riceve in modo sincrono un valore da un'origine specificata, osservando un periodo di timeout facoltativo. |
Receive<TOutput>(ISourceBlock<TOutput>, TimeSpan, CancellationToken) |
Riceve in modo sincrono un valore da un'origine specificata, fornendo un token per annullare l'operazione e osservando un intervallo di timeout facoltativo. |
ReceiveAllAsync<TOutput>(IReceivableSourceBlock<TOutput>, CancellationToken) |
Crea un oggetto IAsyncEnumerable<T> che consente la ricezione di tutti i dati dall'origine. |
ReceiveAsync<TOutput>(ISourceBlock<TOutput>) |
Riceve un valore in modo asincrono da un'origine specificata. |
ReceiveAsync<TOutput>(ISourceBlock<TOutput>, CancellationToken) |
Riceve in modo asincrono un valore da un'origine specificata e fornisce un token per annullare l'operazione. |
ReceiveAsync<TOutput>(ISourceBlock<TOutput>, TimeSpan) |
Riceve in modo asincrono un valore da un'origine specificata, osservando un periodo di timeout facoltativo. |
ReceiveAsync<TOutput>(ISourceBlock<TOutput>, TimeSpan, CancellationToken) |
Riceve in modo asincrono un valore da un'origine specificata, fornendo un token per annullare l'operazione e osservando un intervallo di timeout facoltativo. |
SendAsync<TInput>(ITargetBlock<TInput>, TInput) |
In modo asincrono offre un messaggio al blocco di messaggi di destinazione, consentendo il rinvio. |
SendAsync<TInput>(ITargetBlock<TInput>, TInput, CancellationToken) |
In modo asincrono offre un messaggio al blocco di messaggi di destinazione, consentendo il rinvio. |
TryReceive<TOutput>(IReceivableSourceBlock<TOutput>, TOutput) |
Tenta di ricevere in modo sincrono un elemento da ISourceBlock<TOutput>. |