Aracılığıyla paylaş


JoinBlock<T1,T2,T3> Sınıf

Tanım

Birden çok veri akışı kaynağı arasında bir araya gelen ve aynı türde olması gerekmeyen bir veri akışı bloğu sağlar ve her tür için tek bir öğenin, her tür için tek bir öğe içeren bir tanımlama grubu olarak birlikte yayımlanmadan önce gelmesini bekler.

generic <typename T1, typename T2, typename T3>
public ref class JoinBlock sealed : System::Threading::Tasks::Dataflow::IReceivableSourceBlock<Tuple<T1, T2, T3> ^>, System::Threading::Tasks::Dataflow::ISourceBlock<Tuple<T1, T2, T3> ^>
public sealed class JoinBlock<T1,T2,T3> : System.Threading.Tasks.Dataflow.IReceivableSourceBlock<Tuple<T1,T2,T3>>, System.Threading.Tasks.Dataflow.ISourceBlock<Tuple<T1,T2,T3>>
type JoinBlock<'T1, 'T2, 'T3> = class
    interface IReceivableSourceBlock<'T1 * 'T2 * 'T3>
    interface ISourceBlock<'T1 * 'T2 * 'T3>
    interface IDataflowBlock
type JoinBlock<'T1, 'T2, 'T3> = class
    interface IDataflowBlock
    interface IReceivableSourceBlock<'T1 * 'T2 * 'T3>
    interface ISourceBlock<'T1 * 'T2 * 'T3>
Public NotInheritable Class JoinBlock(Of T1, T2, T3)
Implements IReceivableSourceBlock(Of Tuple(Of T1, T2, T3)), ISourceBlock(Of Tuple(Of T1, T2, T3))

Tür Parametreleri

T1

Bloğun ilk hedefi tarafından kabul edilen veri türünü belirtir.

T2

Bloğun ikinci hedefi tarafından kabul edilen veri türünü belirtir.

T3

Bloğun üçüncü hedefi tarafından kabul edilen veri türünü belirtir.

Devralma
JoinBlock<T1,T2,T3>
Uygulamalar

Açıklamalar

Not

TPL veri akışı kitaplığı ( System.Threading.Tasks.Dataflow ad alanı) .NET ile dağıtılmaz. System.Threading.Tasks.DataflowVisual Studio 'da ad alanını yüklemek için projenizi açın, Proje menüsünden NuGet Paketlerini Yönet ' i seçin ve paketi çevrimiçi olarak arayın System.Threading.Tasks.Dataflow . Alternatif olarak, .NET Core CLIkullanarak yüklemek için öğesini çalıştırın dotnet add package System.Threading.Tasks.Dataflow .

Oluşturucular

JoinBlock<T1,T2,T3>()

Yeni JoinBlock<T1,T2,T3>bir başlatır.

JoinBlock<T1,T2,T3>(GroupingDataflowBlockOptions)

Yeni JoinBlock<T1,T2,T3>bir başlatır.

Özellikler

Completion

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

OutputCount

Bu bloktan alınabilecek çıkış öğelerinin sayısını alır.

Target1

İlk türdeki iletileri sunmak için kullanılabilecek bir hedef alır.

Target2

İkinci türdeki iletileri sunmak için kullanılabilecek bir hedef alır.

Target3

Üçüncü türdeki iletileri sunmak için kullanılabilecek bir hedef alır.

Yöntemler

Complete()

IDataflowBlock daha fazla ileti kabul etmemesi, üretmemesi veya ertelenmiş iletileri tüketmemesi 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()

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

(Devralındığı yer: Object)
LinkTo(ITargetBlock<Tuple<T1,T2,T3>>, DataflowLinkOptions)

Kaynak bloğu belirtilen hedef bloğuna bağlar.

MemberwiseClone()

Geçerli Objectöğesinin sığ 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<Tuple<T1,T2,T3>>, Tuple<T1,T2,T3>)

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

TryReceiveAll(IList<Tuple<T1,T2,T3>>)

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

Belirtik Arabirim Kullanımları

IDataflowBlock.Fault(Exception)

bir IDataflowBlock durumda Faulted tamamlanmasına neden olur.

ISourceBlock<Tuple<T1,T2,T3>>.ConsumeMessage(DataflowMessageHeader, ITargetBlock<Tuple<T1,T2,T3>>, Boolean)

tarafından tanımlanan DataflowMessageHeader iletinin sahipliğini bu ISourceBlock<TOutput> örnekten öğesine ITargetBlock<TInput>geçirir.

ISourceBlock<Tuple<T1,T2,T3>>.ReleaseReservation(DataflowMessageHeader, ITargetBlock<Tuple<T1,T2,T3>>)

tarafından tanımlanan DataflowMessageHeader iletinin sahipliğini bundan ISourceBlock<TOutput> öğesine geçirme hakkını serbest ITargetBlock<TInput>bırakır.

ISourceBlock<Tuple<T1,T2,T3>>.ReserveMessage(DataflowMessageHeader, ITargetBlock<Tuple<T1,T2,T3>>)

tarafından tanımlanan DataflowMessageHeader iletinin sahipliğini buradan ISourceBlock<TOutput> ITargetBlock<TInput>öğesine geçirme hakkını saklıdır.

Uzantı Metotları

AsObservable<TOutput>(ISourceBlock<TOutput>)

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

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

öğesini ISourceBlock<TOutput> belirtilen ITargetBlock<TInput>öğesine 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>, DataflowLinkOptions, Predicate<TOutput>)

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

OutputAvailableAsync<TOutput>(ISourceBlock<TOutput>)

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

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

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

Receive<TOutput>(ISourceBlock<TOutput>)

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

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)

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

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

Belirtilen kaynaktan zaman uyumlu 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.

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

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

ReceiveAsync<TOutput>(ISourceBlock<TOutput>)

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

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)

Belirli bir kaynaktan zaman uyumsuz olarak bir değer alır ve isteğe bağlı bir zaman aşımı süresini gözlemler.

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

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

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

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

Şunlara uygulanır