다음을 통해 공유


JoinBlock<T1,T2,T3> 클래스

정의

형식당 하나의 항목을 포함하는 튜플로서 모두 함께 릴리스되기 전에 각 형식이 도착할 때까지 한 항목을 기다리는 과정으로, 여러 데이터 흐름 소스 간에 연결하는 데이터 흐름 블록을 제공합니다. 이 경우 소스는 같은 유형이 아닐 수도 있습니다.

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

형식 매개 변수

T1

블록의 첫 번째 대상에서 허용하는 데이터 형식을 지정합니다.

T2

블록의 두 번째 대상에서 허용하는 데이터 형식을 지정합니다.

T3

블록의 세 번째 대상에서 허용하는 데이터 형식을 지정합니다.

상속
JoinBlock<T1,T2,T3>
구현

설명

참고

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,T3>()

JoinBlock<T1,T2,T3>를 초기화합니다.

JoinBlock<T1,T2,T3>(GroupingDataflowBlockOptions)

JoinBlock<T1,T2,T3>를 초기화합니다.

속성

Completion

비동기 작업 및 데이터 흐름 블록의 완료를 나타내는 Task를 가져옵니다.

OutputCount

이 블록에서 받을 수 있는 출력 항목의 개수를 가져옵니다.

Target1

제 1의 형식의 메시지를 제공하는 데 사용할 수 있는 대상을 가져옵니다.

Target2

제 2의 형식의 메시지를 제공하는 데 사용할 수 있는 대상을 가져옵니다.

Target3

제 3의 형식의 메시지를 제공하는 데 사용할 수 있는 대상을 가져옵니다.

메서드

Complete()

IDataflowBlock에 대한 신호를 통해 더 이상의 메시지를 받거나 생성할 수 없으며 추가로 지연된 메시지를 사용하면 안 됩니다.

Equals(Object)

지정된 개체가 현재 개체와 같은지 확인합니다.

(다음에서 상속됨 Object)
GetHashCode()

기본 해시 함수로 작동합니다.

(다음에서 상속됨 Object)
GetType()

현재 인스턴스의 Type을 가져옵니다.

(다음에서 상속됨 Object)
LinkTo(ITargetBlock<Tuple<T1,T2,T3>>, DataflowLinkOptions)

소스 블록을 지정된 대상 블록에 연결합니다.

MemberwiseClone()

현재 Object의 단순 복사본을 만듭니다.

(다음에서 상속됨 Object)
ToString()

IDataflowBlock 인스턴스의 형식 지정된 이름을 나타내는 문자열을 반환합니다.

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

IReceivableSourceBlock<TOutput>에서 사용 가능한 출력 항목을 비동기적으로 받으려고 시도합니다.

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

IReceivableSourceBlock<TOutput>에서 모든 사용 가능한 항목을 비동기적으로 받으려고 시도합니다.

명시적 인터페이스 구현

IDataflowBlock.Fault(Exception)

Faulted 상태에서 IDataflowBlock가 완료되도록 합니다.

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

ISourceBlock<TOutput> 인스턴스의 DataflowMessageHeader로 식별된 메시지의 소유권을 ITargetBlock<TInput>으로 전달합니다.

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

ISourceBlock<TOutput>DataflowMessageHeader로 식별된 메시지의 소유권을 ITargetBlock<TInput>으로 전달할 권한을 해제합니다.

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

ISourceBlock<TOutput>DataflowMessageHeader로 식별된 메시지의 소유권을 ITargetBlock<TInput>으로 전달할 권한을 보유합니다.

확장 메서드

AsObservable<TOutput>(ISourceBlock<TOutput>)

IObservable<T> 위에 새 ISourceBlock<TOutput> 추상화를 만듭니다.

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

ISourceBlock<TOutput>을 지정된 ITargetBlock<TInput>에 연결합니다.

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

지정된 필터를 사용하여 ISourceBlock<TOutput>을 지정된 ITargetBlock<TInput>에 연결합니다.

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

지정된 필터를 사용하여 ISourceBlock<TOutput>을 지정된 ITargetBlock<TInput>에 연결합니다.

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>에서 항목을 비동기적으로 받으려고 시도합니다.

적용 대상