BroadcastBlock<T> Sınıf

Tanım

Bir kerede en fazla bir öğeyi depolamak için bir arabellek sağlar ve her ileti geldikçe sonraki iletinin üzerine yazılır.

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)

Tür Parametreleri

T

Bu veri akışı bloğu tarafından arabelleğe alınan verilerin türünü belirtir.

Devralma
BroadcastBlock<T>
Uygulamalar

Açıklamalar

Note

TPL Veri Akışı Kitaplığı (System.Threading.Tasks.Dataflow ad alanı) .NET ile dağıtılmaz. Visual Studio'da System.Threading.Tasks.Dataflow ad alanını yüklemek için projenizi açın, Project menüsünden NuGet Paketlerini Yönet seçin ve System.Threading.Tasks.Dataflow paketini çevrimiçi olarak arayın. Alternatif olarak, .NET Core CLI kullanarakyüklemek için dotnet add package System.Threading.Tasks.Dataflowçalıştırın.

BroadcastBlock<T> bir kerede en fazla bir öğeyi kullanıma sunar. Ancak, bloğuna yeni öğeler sağlandığından, öğesinden farklı WriteOnceBlock<T>olarak bu öğenin üzerine yazılır. BroadcastBlock<T> öğenin üzerine yazılması için izin vermeden önce geçerli öğenin bağlı hedeflere yayınlanmasını sağlar.

Oluşturucular

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

BroadcastBlock<T> öğesini belirtilen kopyalama işlevi ve DataflowBlockOptionsile başlatır.

BroadcastBlock<T>(Func<T,T>)

BroadcastBlock<T> öğesini belirtilen kopyalama işleviyle başlatır.

Özellikler

Name Description
Completion

Zaman uyumsuz işlemi ve veri akışı bloğunun tamamlanmasını temsil eden bir Task alır.

Yöntemler

Name Description
Complete()

IDataflowBlock daha fazla ileti kabul etmemesi veya üretmemesi ya da ertelenmiş iletileri kullanmaması gerektiğine dair sinyaller.

Equals(Object)

Belirtilen nesnenin geçerli nesneye eşit olup olmadığını belirler.

(Devralındığı yer: Object)
GetHashCode()

Varsayılan karma işlevi işlevi görür.

(Devralındığı yer: Object)
GetType()

Geçerli örneğin Type alır.

(Devralındığı yer: Object)
LinkTo(ITargetBlock<T>, DataflowLinkOptions)

öğesini ISourceBlock<TOutput> belirtilen ITargetBlock<TInput>öğesine bağlar.

MemberwiseClone()

Geçerli Objectbasit bir kopyasını oluşturur.

(Devralındığı yer: Object)
ToString()

Bu IDataflowBlock örneğin biçimlendirilmiş adını temsil eden bir dize döndürür.

TryReceive(Predicate<T>, T)

öğesinden IReceivableSourceBlock<TOutput>zaman uyumlu bir şekilde kullanılabilir bir çıkış öğesi almaya çalışır.

Belirtik Arabirim Kullanımları

Name Description
IDataflowBlock.Fault(Exception)

öğesinin IDataflowBlock bir Faulted durumda tamamlanmasını neden olur.

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

öğesinden IReceivableSourceBlock<TOutput>tüm kullanılabilir öğeleri zaman uyumlu bir şekilde almaya çalışır.

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

Bu tarafından daha önce sunulan bir ITargetBlock<TInput> öğesini kabul etmek ve kullanmak için bağlı DataflowMessageHeader tarafından çağrılırISourceBlock<TOutput>.

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

Daha önce bu tarafından ayrılmış ITargetBlock<TInput> bir sürümü yayınlamak için bağlı DataflowMessageHeader bir tarafından çağrılırISourceBlock<TOutput>.

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

Bu tarafından daha önce sunulan bir ayırmak için bağlı ITargetBlock<TInput> tarafından çağrılır DataflowMessageHeaderISourceBlock<TOutput>.

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

hedefine ITargetBlock<TInput>iletiyi kullanma veya erteleme fırsatı veren bir ileti sunar.

Uzantı Metotları

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

üzerinde IObservable<T>yeni ISourceBlock<TOutput> bir soyutlama oluşturur.

AsObserver<TInput>(ITargetBlock<TInput>)

üzerinde IObserver<T>yeni ITargetBlock<TInput> bir soyutlama oluşturur.

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

ISourceBlock<TOutput> belirtilen filtreyi kullanarak öğesini belirtilene ITargetBlock<TInput> bağlar.

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

ISourceBlock<TOutput> belirtilen filtreyi kullanarak öğesini belirtilene ITargetBlock<TInput> bağlar.

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

öğesini ISourceBlock<TOutput> belirtilen ITargetBlock<TInput>öğesine bağlar.

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

Kaynağı kullanılabilir çıkış için zaman uyumsuz olarak izleyen bir Task<TResult> sağlar.

OutputAvailableAsync<TOutput>(ISourceBlock<TOutput>)

Kaynağı kullanılabilir çıkış için zaman uyumsuz olarak izleyen bir Task<TResult> sağlar.

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

Öğesine bir öğe postalar ITargetBlock<TInput>.

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

Belirtilen kaynaktan zaman uyumlu olarak bir değer alır ve işlemi iptal etmek için bir belirteç sağlar.

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

Belirtilen kaynaktan zaman uyumlu bir şekilde bir değer alır ve işlemi iptal etmek için bir belirteç sağlar ve isteğe bağlı bir zaman aşımı aralığını gözlemler.

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

Belirli bir kaynaktan isteğe bağlı zaman aşımı süresini gözlemleyerek zaman uyumlu bir şekilde bir değer alır.

Receive<TOutput>(ISourceBlock<TOutput>)

Belirtilen kaynaktan zaman uyumlu olarak bir değer alır.

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

Kaynaktan tüm verilerin alınmasını sağlayan bir IAsyncEnumerable<T> oluşturur.

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

Belirli bir kaynaktan zaman uyumsuz olarak bir değer alır ve işlemi iptal etmek için bir belirteç sağlar.

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

Belirli bir kaynaktan zaman uyumsuz olarak bir değer alır ve işlemi iptal etmek için bir belirteç sağlar ve isteğe bağlı bir zaman aşımı aralığını gözlemler.

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

İsteğe bağlı zaman aşımı süresini gözlemleyerek belirtilen kaynaktan zaman uyumsuz olarak bir değer alır.

ReceiveAsync<TOutput>(ISourceBlock<TOutput>)

Belirtilen kaynaktan zaman uyumsuz olarak bir değer alır.

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

Zaman uyumsuz olarak hedef ileti bloğuna bir ileti sunar ve ertelemeye olanak tanır.

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

Zaman uyumsuz olarak hedef ileti bloğuna bir ileti sunar ve ertelemeye olanak tanır.

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

öğesinden ISourceBlock<TOutput>bir öğeyi zaman uyumlu bir şekilde almaya çalışır.

Şunlara uygulanır