다음을 통해 공유


IPropagatorBlock<TInput,TOutput> 인터페이스

정의

데이터의 대상 및 소스인 데이터 흐름 블록을 나타냅니다.

generic <typename TInput, typename TOutput>
public interface class IPropagatorBlock : System::Threading::Tasks::Dataflow::ISourceBlock<TOutput>, System::Threading::Tasks::Dataflow::ITargetBlock<TInput>
public interface IPropagatorBlock<in TInput,out TOutput> : System.Threading.Tasks.Dataflow.ISourceBlock<out TOutput>, System.Threading.Tasks.Dataflow.ITargetBlock<in TInput>
type IPropagatorBlock<'Input, 'Output> = interface
    interface ITargetBlock<'Input>
    interface IDataflowBlock
    interface ISourceBlock<'Output>
type IPropagatorBlock<'Input, 'Output> = interface
    interface IDataflowBlock
    interface ISourceBlock<'Output>
    interface ITargetBlock<'Input>
Public Interface IPropagatorBlock(Of In TInput, Out TOutput)
Implements ISourceBlock(Of Out TOutput), ITargetBlock(Of In TInput)

형식 매개 변수

TInput

IPropagatorBlock<TInput,TOutput>에서 허용하는 데이터 형식을 지정합니다.

이 형식 매개 변수는 반공변(Contravariant)입니다. 즉, 지정한 형식이나 더 적게 파생된 모든 형식을 사용할 수 있습니다. 공변성(Covariance) 및 반공변성(Contravariance)에 대한 자세한 내용은 제네릭의 공변성(Covariance) 및 반공변성(Contravariance)을 참조하세요.
TOutput

IPropagatorBlock<TInput,TOutput>에서 제공하는 데이터 형식을 지정합니다.

이 형식 매개 변수는 공변(Covariant)입니다. 즉, 지정한 형식이나 더 많게 파생된 모든 형식을 사용할 수 있습니다. 공변성(Covariance) 및 반공변성(Contravariance)에 대한 자세한 내용은 제네릭의 공변성(Covariance) 및 반공변성(Contravariance)을 참조하세요.
파생
구현

설명

참고

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를 실행합니다.

속성

Completion

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

(다음에서 상속됨 IDataflowBlock)

메서드

Complete()

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

(다음에서 상속됨 IDataflowBlock)
ConsumeMessage(DataflowMessageHeader, ITargetBlock<TOutput>, Boolean)

ITargetBlock<TInput>에서 이전에 제공한 DataflowMessageHeader를 받아 사용하기 위해 연결된 ISourceBlock<TOutput>에 의해 호출됩니다.

(다음에서 상속됨 ISourceBlock<TOutput>)
Fault(Exception)

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

(다음에서 상속됨 IDataflowBlock)
LinkTo(ITargetBlock<TOutput>, DataflowLinkOptions)

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

(다음에서 상속됨 ISourceBlock<TOutput>)
OfferMessage(DataflowMessageHeader, TInput, ISourceBlock<TInput>, Boolean)

메시지를 ITargetBlock<TInput>에 제공하며 대상에서 메시지를 선택적으로 사용하거나 연기할 수 있습니다.

(다음에서 상속됨 ITargetBlock<TInput>)
ReleaseReservation(DataflowMessageHeader, ITargetBlock<TOutput>)

ITargetBlock<TInput>에 의해 이전에 예약한 DataflowMessageHeader를 해제하기 위해 연결된 ISourceBlock<TOutput>에 의해 호출됩니다.

(다음에서 상속됨 ISourceBlock<TOutput>)
ReserveMessage(DataflowMessageHeader, ITargetBlock<TOutput>)

ITargetBlock<TInput>에 의해 이전에 제공한 DataflowMessageHeader를 예약하기 위해 연결된 ISourceBlock<TOutput>에 의해 호출됩니다.

(다음에서 상속됨 ISourceBlock<TOutput>)

확장 메서드

AsObservable<TOutput>(ISourceBlock<TOutput>)

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

AsObserver<TInput>(ITargetBlock<TInput>)

IObserver<T> 위에 새 ITargetBlock<TInput> 추상화를 만듭니다.

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>을 제공합니다.

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

ITargetBlock<TInput>에 항목을 게시합니다.

Receive<TOutput>(ISourceBlock<TOutput>)

지정된 소스에서 값을 동기적으로 받습니다.

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

지정된 소스에서 값을 동기적으로 받고 작업을 취소하는 토큰을 제공합니다.

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

지정된 소스에서 값을 동기적으로 받으며 최적의 시간 초과 기간을 관찰합니다.

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

지정된 원본에서 값을 동기적으로 받으면서 작업을 취소하는 토큰을 제공하고 최적의 시간 초과 간격을 관찰합니다.

ReceiveAsync<TOutput>(ISourceBlock<TOutput>)

지정된 소스에서 값을 비동기적으로 받습니다.

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

지정된 소스에서 값을 비동기적으로 받고 작업을 취소하는 토큰을 제공합니다.

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

지정된 소스에서 값을 비동기적으로 받으며 최적의 시간 초과 기간을 관찰합니다.

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

지정된 원본에서 값을 비동기적으로 받으면서 작업을 취소하는 토큰을 제공하고 최적의 시간 초과 간격을 관찰합니다.

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

대상 메시지 블록에 메시지를 비동기적으로 제공하며, 연기를 허용합니다.

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

대상 메시지 블록에 메시지를 비동기적으로 제공하며, 연기를 허용합니다.

적용 대상