JoinBlock<T1,T2> Sınıf

Tanım

Birden çok veri akışı kaynağı arasında bir araya gelen bir veri akışı bloğu sağlar; aynı türde olması gerekmez ve her tür için tek bir öğenin gelmesini bekler ve her tür için tek bir öğeden oluşan bir tanımlama grubu olarak yayımlanmasını bekler.

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

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.

Devralma
JoinBlock<T1,T2>
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.

Oluşturucular

Name Description
JoinBlock<T1,T2>()

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

JoinBlock<T1,T2>(GroupingDataflowBlockOptions)

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

Özellikler

Name Description
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.

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<Tuple<T1,T2>>, 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<Tuple<T1,T2>>, Tuple<T1,T2>)

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

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

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

Belirtik Arabirim Kullanımları

Name Description
IDataflowBlock.Fault(Exception)

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

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

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

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

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

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

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

Uzantı Metotları

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

üzerinde IObservable<T>yeni ISourceBlock<TOutput> 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.

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.

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

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

Şunlara uygulanır