次の方法で共有


JoinBlock<T1,T2> クラス

定義

型が異なる可能性のある複数のデータフロー ソースとの間で結合するデータフロー ブロックを提供します。このデータフロー ブロックは、型ごとに 1 つの項目が到着するのを待機してから、型ごとに 1 つの項目から成るタプルとしてまとめて解放されます。

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

型パラメーター

T1

ブロックの最初のターゲットが受け取るデータの種類を指定します。

T2

ブロックの 2 番目のターゲットが受け取るデータの種類を指定します。

継承
JoinBlock<T1,T2>
実装

注釈

注意

TPL データフロー ライブラリ (System.Threading.Tasks.Dataflow 名前空間) は、.NET と一緒には配布されません。 Visual Studio に System.Threading.Tasks.Dataflow 名前空間をインストールするには、プロジェクトを開き、 [プロジェクト] メニューの [NuGet パッケージの管理] をクリックし、System.Threading.Tasks.Dataflow パッケージをオンラインで検索します。 または、.NET Core CLI を使ってインストールするには、dotnet add package System.Threading.Tasks.Dataflow を実行します。

コンストラクター

JoinBlock<T1,T2>()

新しい JoinBlock<T1,T2> を初期化します。

JoinBlock<T1,T2>(GroupingDataflowBlockOptions)

新しい JoinBlock<T1,T2> を初期化します。

プロパティ

Completion

データ フロー ブロックの非同期操作と完了を表す Task を取得します。

OutputCount

このブロックから取得できる出力項目の数を取得します。

Target1

最初の型のメッセージを提供するために使用できるターゲットを取得します。

Target2

2 番目の型のメッセージを提供するために使用できるターゲットを取得します。

メソッド

Complete()

これ以上メッセージを受け付けまたは生成せず、延期メッセージを使用しないことを IDataflowBlock に通知します。

Equals(Object)

指定されたオブジェクトが現在のオブジェクトと等しいかどうかを判断します。

(継承元 Object)
GetHashCode()

既定のハッシュ関数として機能します。

(継承元 Object)
GetType()

現在のインスタンスの Type を取得します。

(継承元 Object)
LinkTo(ITargetBlock<Tuple<T1,T2>>, DataflowLinkOptions)

指定した ITargetBlock<TInput>ISourceBlock<TOutput> をリンクします。

MemberwiseClone()

現在の Object の簡易コピーを作成します。

(継承元 Object)
ToString()

この IDataflowBlock インスタンスの書式設定された名前を表す文字列を返します。

TryReceive(Predicate<Tuple<T1,T2>>, Tuple<T1,T2>)

使用可能な出力項目を IReceivableSourceBlock<TOutput> から同期的に受け取ろうとします。

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

使用可能なすべての項目を IReceivableSourceBlock<TOutput> から同期的に受け取ろうとします。

明示的なインターフェイスの実装

IDataflowBlock.Fault(Exception)

IDataflowBlockFaulted 状態で完了するようにします。

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

DataflowMessageHeader によって識別されるメッセージの所有権をこの ISourceBlock<TOutput> インスタンスから ITargetBlock<TInput> に渡します。

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

権利を解放して、DataflowMessageHeader によって識別されるメッセージの所有権をこの ISourceBlock<TOutput> から ITargetBlock<TInput> に渡します。

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

権利を予約して、DataflowMessageHeader によって識別されるメッセージの所有権をこの ISourceBlock<TOutput> から ITargetBlock<TInput> に渡します。

拡張メソッド

AsObservable<TOutput>(ISourceBlock<TOutput>)

IObservable<T> の新しい ISourceBlock<TOutput> 抽象化を作成します。

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

指定した ITargetBlock<TInput>ISourceBlock<TOutput> をリンクします。

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

指定したフィルターを使用して、指定した ITargetBlock<TInput>ISourceBlock<TOutput> をリンクします。

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

指定したフィルターを使用して、指定した ITargetBlock<TInput>ISourceBlock<TOutput> をリンクします。

OutputAvailableAsync<TOutput>(ISourceBlock<TOutput>)

使用できる出力のソースを非同期的に監視する Task<TResult> を提供します。

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

使用できる出力のソースを非同期的に監視する Task<TResult> を提供します。

Receive<TOutput>(ISourceBlock<TOutput>)

指定されたソースから値を同期的に受信します。

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

同期的に指定したソースから値を受け取り、操作をキャンセルするトークンを提供します。

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

同期的に指定したソースから値を受信し、オプションのタイムアウト期間を確認します。

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

同期的に操作をキャンセルするトークンを提供し、オプションのタイムアウト間隔を確認する指定したソースから値を受け取ります。

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

IAsyncEnumerable<T>ソースからすべてのデータを受信できるようにするオブジェクトを作成します。

ReceiveAsync<TOutput>(ISourceBlock<TOutput>)

指定されたソースから値を非同期的に受信します。

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

非同期に指定したソースから値を受け取り、操作をキャンセルするトークンを提供します。

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

非同期に指定したソースから値を受信し、オプションのタイムアウト期間を確認します。

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

非同期に操作をキャンセルするトークンを提供し、オプションのタイムアウト間隔を確認する指定したソースから値を受け取ります。

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

ISourceBlock<TOutput> から使用可能な出力項目を同期的に受信します。

適用対象