TransformBlock<TInput,TOutput> 클래스

정의

수신한 모든 데이터 요소에 대해 제공된 Func<T,TResult> 대리자를 호출하는 데이터 흐름 블록을 제공합니다.Provides a dataflow block that invokes a provided Func<T,TResult> delegate for every data element received.

generic <typename TInput, typename TOutput>
public ref class TransformBlock sealed : System::Threading::Tasks::Dataflow::IPropagatorBlock<TInput, TOutput>, System::Threading::Tasks::Dataflow::IReceivableSourceBlock<TOutput>, System::Threading::Tasks::Dataflow::ISourceBlock<TOutput>, System::Threading::Tasks::Dataflow::ITargetBlock<TInput>
public sealed class TransformBlock<TInput,TOutput> : System.Threading.Tasks.Dataflow.IPropagatorBlock<TInput,TOutput>, System.Threading.Tasks.Dataflow.IReceivableSourceBlock<TOutput>, System.Threading.Tasks.Dataflow.ISourceBlock<TOutput>, System.Threading.Tasks.Dataflow.ITargetBlock<TInput>
type TransformBlock<'Input, 'Output> = class
    interface IPropagatorBlock<'Input, 'Output>
    interface ITargetBlock<'Input>
    interface IDataflowBlock
    interface ISourceBlock<'Output>
    interface IReceivableSourceBlock<'Output>
type TransformBlock<'Input, 'Output> = class
    interface IDataflowBlock
    interface IPropagatorBlock<'Input, 'Output>
    interface ISourceBlock<'Output>
    interface ITargetBlock<'Input>
    interface IReceivableSourceBlock<'Output>
Public NotInheritable Class TransformBlock(Of TInput, TOutput)
Implements IPropagatorBlock(Of TInput, TOutput), IReceivableSourceBlock(Of TOutput), ISourceBlock(Of TOutput), ITargetBlock(Of TInput)

형식 매개 변수

TInput

TransformBlock<TInput,TOutput>에서 수신하고 작업하는 데이터 형식을 지정합니다.Specifies the type of data received and operated on by this TransformBlock<TInput,TOutput>.

TOutput

이에서 출력 하는 데이터 형식을 지정 합니다 TransformBlock<TInput,TOutput> .Specifies the type of data output by this TransformBlock<TInput,TOutput>.

상속
TransformBlock<TInput,TOutput>
구현

설명

참고

TPL 데이터 흐름 라이브러리(System.Threading.Tasks.Dataflow 네임스페이스)는 .NET과 함께 배포되지 않습니다.The TPL Dataflow Library (the System.Threading.Tasks.Dataflow namespace) is not distributed with .NET. Visual Studio에서 System.Threading.Tasks.Dataflow 네임스페이스를 설치하려면 프로젝트를 열고, 프로젝트 메뉴에서 NuGet 패키지 관리를 선택한 후, System.Threading.Tasks.Dataflow 패키지를 온라인으로 검색합니다.To install the System.Threading.Tasks.Dataflow namespace in Visual Studio, open your project, choose Manage NuGet Packages from the Project menu, and search online for the System.Threading.Tasks.Dataflow package. 또는 .NET Core CLI를 사용하여 설치하려면 dotnet add package System.Threading.Tasks.Dataflow를 실행합니다.Alternatively, to install it using the .NET Core CLI, run dotnet add package System.Threading.Tasks.Dataflow.

생성자

TransformBlock<TInput,TOutput>(Func<TInput,Task<TOutput>>)

지정된 Func<T,TResult>을 사용하여 새 TransformBlock<TInput,TOutput>를 초기화합니다.Initializes a new TransformBlock<TInput,TOutput> with the specified Func<T,TResult>.

TransformBlock<TInput,TOutput>(Func<TInput,Task<TOutput>>, ExecutionDataflowBlockOptions)

지정된 TransformBlock<TInput,TOutput>Func<T,TResult>를 사용하여 새 ExecutionDataflowBlockOptions를 초기화합니다.Initializes a new TransformBlock<TInput,TOutput> with the specified Func<T,TResult> and ExecutionDataflowBlockOptions.

TransformBlock<TInput,TOutput>(Func<TInput,TOutput>)

지정된 Func<T,TResult>을 사용하여 새 TransformBlock<TInput,TOutput>를 초기화합니다.Initializes a new TransformBlock<TInput,TOutput> with the specified Func<T,TResult>.

TransformBlock<TInput,TOutput>(Func<TInput,TOutput>, ExecutionDataflowBlockOptions)

지정된 TransformBlock<TInput,TOutput>Func<T,TResult>를 사용하여 새 ExecutionDataflowBlockOptions를 초기화합니다.Initializes a new TransformBlock<TInput,TOutput> with the specified Func<T,TResult> and ExecutionDataflowBlockOptions.

속성

Completion

비동기 작업 및 데이터 흐름 블록의 완료를 나타내는 Task를 가져옵니다.Gets a Task that represents the asynchronous operation and completion of the dataflow block.

InputCount

이 블록에서 처리되도록 대기 중인 입력 항목의 수를 가져옵니다.Gets the number of input items waiting to be processed by this block.

OutputCount

이 블록에서 받을 수 있는 출력 항목의 개수를 가져옵니다.Gets the number of output items available to be received from this block.

메서드

Complete()

IDataflowBlock에 대한 신호를 통해 더 이상의 메시지를 받거나 생성할 수 없으며 추가로 지연된 메시지를 사용하면 안 됩니다.Signals to the IDataflowBlock that it should not accept nor produce any more messages nor consume any more postponed messages.

Equals(Object)

지정된 개체가 현재 개체와 같은지 확인합니다.Determines whether the specified object is equal to the current object.

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

기본 해시 함수로 작동합니다.Serves as the default hash function.

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

현재 인스턴스의 Type을 가져옵니다.Gets the Type of the current instance.

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

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

MemberwiseClone()

현재 Object의 단순 복사본을 만듭니다.Creates a shallow copy of the current Object.

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

IDataflowBlock 인스턴스의 형식 지정된 이름을 나타내는 문자열을 반환합니다.Returns a string that represents the formatted name of this IDataflowBlock instance.

TryReceive(Predicate<TOutput>, TOutput)

IReceivableSourceBlock<TOutput>에서 사용 가능한 출력 항목을 비동기적으로 받으려고 시도합니다.Attempts to synchronously receive an available output item from the IReceivableSourceBlock<TOutput>.

TryReceiveAll(IList<TOutput>)

IReceivableSourceBlock<TOutput>에서 모든 사용 가능한 항목을 비동기적으로 받으려고 시도합니다.Attempts to synchronously receive all available items from the IReceivableSourceBlock<TOutput>.

명시적 인터페이스 구현

IDataflowBlock.Fault(Exception)

Faulted 상태에서 IDataflowBlock가 완료되도록 합니다.Causes the IDataflowBlock to complete in a Faulted state.

ISourceBlock<TOutput>.ConsumeMessage(DataflowMessageHeader, ITargetBlock<TOutput>, Boolean)

ITargetBlock<TInput>에서 이전에 제공한 DataflowMessageHeader를 받아 사용하기 위해 연결된 ISourceBlock<TOutput>에 의해 호출됩니다.Called by a linked ITargetBlock<TInput> to accept and consume a DataflowMessageHeader previously offered by this ISourceBlock<TOutput>.

ISourceBlock<TOutput>.ReleaseReservation(DataflowMessageHeader, ITargetBlock<TOutput>)

ISourceBlock<TOutput>에 의해 이전에 예약한 DataflowMessageHeader를 해제하기 위해 연결된 ITargetBlock<TInput>에 의해 호출됩니다.Called by a linked ITargetBlock<TInput> to release a previously reserved DataflowMessageHeader by this ISourceBlock<TOutput>.

ISourceBlock<TOutput>.ReserveMessage(DataflowMessageHeader, ITargetBlock<TOutput>)

ISourceBlock<TOutput>에 의해 이전에 제공한 DataflowMessageHeader를 예약하기 위해 연결된 ITargetBlock<TInput>에 의해 호출됩니다.Called by a linked ITargetBlock<TInput> to reserve a previously offered DataflowMessageHeader by this ISourceBlock<TOutput>.

ITargetBlock<TInput>.OfferMessage(DataflowMessageHeader, TInput, ISourceBlock<TInput>, Boolean)

메시지를 ITargetBlock<TInput>에 제공하며 대상에서 메시지를 선택적으로 사용하거나 연기할 수 있습니다.Offers a message to the ITargetBlock<TInput>, giving the target the opportunity to consume or postpone the message.

확장 메서드

AsObservable<TOutput>(ISourceBlock<TOutput>)

IObservable<T> 위에 새 ISourceBlock<TOutput> 추상화를 만듭니다.Creates a new IObservable<T> abstraction over the ISourceBlock<TOutput>.

AsObserver<TInput>(ITargetBlock<TInput>)

ITargetBlock<TInput> 위에 새 IObserver<T> 추상화를 만듭니다.Creates a new IObserver<T> abstraction over the ITargetBlock<TInput>.

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

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

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

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

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

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

OutputAvailableAsync<TOutput>(ISourceBlock<TOutput>)

사용 가능한 출력에 대한 소스를 비동기적으로 모니터링하는 Task<TResult>을 제공합니다.Provides a Task<TResult> that asynchronously monitors the source for available output.

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

사용 가능한 출력에 대한 소스를 비동기적으로 모니터링하는 Task<TResult>을 제공합니다.Provides a Task<TResult> that asynchronously monitors the source for available output.

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

ITargetBlock<TInput>에 항목을 게시합니다.Posts an item to the ITargetBlock<TInput>.

Receive<TOutput>(ISourceBlock<TOutput>)

지정된 소스에서 값을 동기적으로 받습니다.Synchronously receives a value from a specified source.

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

지정된 소스에서 값을 동기적으로 받고 작업을 취소하는 토큰을 제공합니다.Synchronously receives a value from a specified source and provides a token to cancel the operation.

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

지정된 소스에서 값을 동기적으로 받으며 최적의 시간 초과 기간을 관찰합니다.Synchronously receives a value from a specified source, observing an optional time-out period.

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

지정된 원본에서 값을 동기적으로 받으면서 작업을 취소하는 토큰을 제공하고 최적의 시간 초과 간격을 관찰합니다.Synchronously receives a value from a specified source, providing a token to cancel the operation and observing an optional time-out interval.

ReceiveAsync<TOutput>(ISourceBlock<TOutput>)

지정된 소스에서 값을 비동기적으로 받습니다.Asynchronously receives a value from a specified source.

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

지정된 소스에서 값을 비동기적으로 받고 작업을 취소하는 토큰을 제공합니다.Asynchronously receives a value from a specified source and provides a token to cancel the operation.

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

지정된 소스에서 값을 비동기적으로 받으며 최적의 시간 초과 기간을 관찰합니다.Asynchronously receives a value from a specified source, observing an optional time-out period.

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

지정된 원본에서 값을 비동기적으로 받으면서 작업을 취소하는 토큰을 제공하고 최적의 시간 초과 간격을 관찰합니다.Asynchronously receives a value from a specified source, providing a token to cancel the operation and observing an optional time-out interval.

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

대상 메시지 블록에 메시지를 비동기적으로 제공하며, 연기를 허용합니다.Asynchronously offers a message to the target message block, allowing for postponement.

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

대상 메시지 블록에 메시지를 비동기적으로 제공하며, 연기를 허용합니다.Asynchronously offers a message to the target message block, allowing for postponement.

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

ISourceBlock<TOutput>에서 항목을 비동기적으로 받으려고 시도합니다.Attempts to synchronously receive an item from the ISourceBlock<TOutput>.

적용 대상