Share via


DataflowBlock.Choose 메서드

정의

오버로드

Choose<T1,T2,T3>(ISourceBlock<T1>, Action<T1>, ISourceBlock<T2>, Action<T2>, ISourceBlock<T3>, Action<T3>)

세 개의 데이터 흐름 소스를 모니터링하여 제공된 처리기 중에서 데이터를 가장 먼저 사용할 수 있도록 하는 소스를 호출합니다.

Choose<T1,T2,T3>(ISourceBlock<T1>, Action<T1>, ISourceBlock<T2>, Action<T2>, ISourceBlock<T3>, Action<T3>, DataflowBlockOptions)

세 개의 데이터 흐름 소스를 모니터링하여 제공된 처리기 중에서 데이터를 가장 먼저 사용할 수 있도록 하는 소스를 호출합니다.

Choose<T1,T2>(ISourceBlock<T1>, Action<T1>, ISourceBlock<T2>, Action<T2>)

두 개의 데이터 흐름 소스를 모니터링하여 제공된 처리기 중에서 데이터를 가장 먼저 사용할 수 있도록 하는 소스를 호출합니다.

Choose<T1,T2>(ISourceBlock<T1>, Action<T1>, ISourceBlock<T2>, Action<T2>, DataflowBlockOptions)

두 개의 데이터 흐름 소스를 모니터링하여 제공된 처리기 중에서 데이터를 가장 먼저 사용할 수 있도록 하는 소스를 호출합니다.

Choose<T1,T2,T3>(ISourceBlock<T1>, Action<T1>, ISourceBlock<T2>, Action<T2>, ISourceBlock<T3>, Action<T3>)

세 개의 데이터 흐름 소스를 모니터링하여 제공된 처리기 중에서 데이터를 가장 먼저 사용할 수 있도록 하는 소스를 호출합니다.

public:
generic <typename T1, typename T2, typename T3>
 static System::Threading::Tasks::Task<int> ^ Choose(System::Threading::Tasks::Dataflow::ISourceBlock<T1> ^ source1, Action<T1> ^ action1, System::Threading::Tasks::Dataflow::ISourceBlock<T2> ^ source2, Action<T2> ^ action2, System::Threading::Tasks::Dataflow::ISourceBlock<T3> ^ source3, Action<T3> ^ action3);
public static System.Threading.Tasks.Task<int> Choose<T1,T2,T3> (System.Threading.Tasks.Dataflow.ISourceBlock<T1> source1, Action<T1> action1, System.Threading.Tasks.Dataflow.ISourceBlock<T2> source2, Action<T2> action2, System.Threading.Tasks.Dataflow.ISourceBlock<T3> source3, Action<T3> action3);
static member Choose : System.Threading.Tasks.Dataflow.ISourceBlock<'T1> * Action<'T1> * System.Threading.Tasks.Dataflow.ISourceBlock<'T2> * Action<'T2> * System.Threading.Tasks.Dataflow.ISourceBlock<'T3> * Action<'T3> -> System.Threading.Tasks.Task<int>
Public Function Choose(Of T1, T2, T3) (source1 As ISourceBlock(Of T1), action1 As Action(Of T1), source2 As ISourceBlock(Of T2), action2 As Action(Of T2), source3 As ISourceBlock(Of T3), action3 As Action(Of T3)) As Task(Of Integer)

형식 매개 변수

T1

첫 번째 소스에 포함된 데이터 형식을 지정합니다.

T2

두 번째 소스에 포함된 데이터 형식을 지정합니다.

T3

세 번째 소스에 포함된 데이터 형식을 지정합니다.

매개 변수

source1
ISourceBlock<T1>

첫 번째 소스입니다.

action1
Action<T1>

첫 번째 소스에서 데이터에 실행할 처리기입니다.

source2
ISourceBlock<T2>

두 번째 소스입니다.

action2
Action<T2>

두 번째 소스에서 데이터에 실행할 처리기입니다.

source3
ISourceBlock<T3>

세 번째 소스입니다.

action3
Action<T3>

세번째 소스에서 데이터에 실행할 처리기입니다.

반환

Task<Int32>

비동기 선택을 나타내는 Task<TResult>입니다. 선택이 완료되기 전에 모든 소스가 완료되면 결과 작업이 취소됩니다. 소스 중 하나가 사용 가능한 데이터가 있으며 선택한 내용으로 성공적으로 전파하면 처리기가 완료될 때 결과 작업이 완료되고 처리기에서 예외가 throw되면 작업이 Faulted 상태에서 종료되며 처리되지 않은 예외를 포함합니다. 그렇지 않으면 Result가 0부터 시작하는 소스 인덱스로 설정되어 종료됩니다.

이 메서드는 데이터 소스 중 두 개 이상이 아닌 하나의 요소만 사용합니다.

예외

source1null인 경우

또는 action1null인 경우

또는 source2null인 경우

또는 action2null인 경우

또는 source3null인 경우

또는 action3null인 경우

적용 대상

Choose<T1,T2,T3>(ISourceBlock<T1>, Action<T1>, ISourceBlock<T2>, Action<T2>, ISourceBlock<T3>, Action<T3>, DataflowBlockOptions)

세 개의 데이터 흐름 소스를 모니터링하여 제공된 처리기 중에서 데이터를 가장 먼저 사용할 수 있도록 하는 소스를 호출합니다.

public:
generic <typename T1, typename T2, typename T3>
 static System::Threading::Tasks::Task<int> ^ Choose(System::Threading::Tasks::Dataflow::ISourceBlock<T1> ^ source1, Action<T1> ^ action1, System::Threading::Tasks::Dataflow::ISourceBlock<T2> ^ source2, Action<T2> ^ action2, System::Threading::Tasks::Dataflow::ISourceBlock<T3> ^ source3, Action<T3> ^ action3, System::Threading::Tasks::Dataflow::DataflowBlockOptions ^ dataflowBlockOptions);
public static System.Threading.Tasks.Task<int> Choose<T1,T2,T3> (System.Threading.Tasks.Dataflow.ISourceBlock<T1> source1, Action<T1> action1, System.Threading.Tasks.Dataflow.ISourceBlock<T2> source2, Action<T2> action2, System.Threading.Tasks.Dataflow.ISourceBlock<T3> source3, Action<T3> action3, System.Threading.Tasks.Dataflow.DataflowBlockOptions dataflowBlockOptions);
static member Choose : System.Threading.Tasks.Dataflow.ISourceBlock<'T1> * Action<'T1> * System.Threading.Tasks.Dataflow.ISourceBlock<'T2> * Action<'T2> * System.Threading.Tasks.Dataflow.ISourceBlock<'T3> * Action<'T3> * System.Threading.Tasks.Dataflow.DataflowBlockOptions -> System.Threading.Tasks.Task<int>
Public Function Choose(Of T1, T2, T3) (source1 As ISourceBlock(Of T1), action1 As Action(Of T1), source2 As ISourceBlock(Of T2), action2 As Action(Of T2), source3 As ISourceBlock(Of T3), action3 As Action(Of T3), dataflowBlockOptions As DataflowBlockOptions) As Task(Of Integer)

형식 매개 변수

T1

첫 번째 소스에 포함된 데이터 형식을 지정합니다.

T2

두 번째 소스에 포함된 데이터 형식을 지정합니다.

T3

세 번째 소스에 포함된 데이터 형식을 지정합니다.

매개 변수

source1
ISourceBlock<T1>

첫 번째 소스입니다.

action1
Action<T1>

첫 번째 소스에서 데이터에 실행할 처리기입니다.

source2
ISourceBlock<T2>

두 번째 소스입니다.

action2
Action<T2>

두 번째 소스에서 데이터에 실행할 처리기입니다.

source3
ISourceBlock<T3>

세 번째 소스입니다.

action3
Action<T3>

세번째 소스에서 데이터에 실행할 처리기입니다.

dataflowBlockOptions
DataflowBlockOptions

이 선택을 구성하는 옵션입니다.

반환

Task<Int32>

비동기 선택을 나타내는 Task<TResult>입니다. 선택을 완료하기 전에 모든 소스가 완료된 경우나 dataflowBlockOptions의 일부로 제공된 CancellationToken이 선택 완료 전에 취소된 경우 결과 작업이 취소됩니다. 소스 중 하나가 사용 가능한 데이터가 있으며 선택한 내용으로 성공적으로 전파하면 처리기가 완료될 때 결과 작업이 완료되고 처리기에서 예외가 throw되면 작업이 Faulted 상태에서 종료되며 처리되지 않은 예외를 포함합니다. 그렇지 않으면 Result가 0부터 시작하는 소스 인덱스로 설정되어 종료됩니다.

이 메서드는 데이터 소스 중 두 개 이상이 아닌 하나의 요소만 사용합니다. 요소를 받은 후 취소가 요청된 경우 취소 요청이 무시되고 관련 처리기가 실행될 수 있도록 허용됩니다.

예외

source1null인 경우

또는 action1null인 경우

또는 source2null인 경우

또는 action2null인 경우

또는 source3null인 경우

또는 action3null인 경우

또는 dataflowBlockOptionsnull인 경우

적용 대상

Choose<T1,T2>(ISourceBlock<T1>, Action<T1>, ISourceBlock<T2>, Action<T2>)

두 개의 데이터 흐름 소스를 모니터링하여 제공된 처리기 중에서 데이터를 가장 먼저 사용할 수 있도록 하는 소스를 호출합니다.

public:
generic <typename T1, typename T2>
 static System::Threading::Tasks::Task<int> ^ Choose(System::Threading::Tasks::Dataflow::ISourceBlock<T1> ^ source1, Action<T1> ^ action1, System::Threading::Tasks::Dataflow::ISourceBlock<T2> ^ source2, Action<T2> ^ action2);
public static System.Threading.Tasks.Task<int> Choose<T1,T2> (System.Threading.Tasks.Dataflow.ISourceBlock<T1> source1, Action<T1> action1, System.Threading.Tasks.Dataflow.ISourceBlock<T2> source2, Action<T2> action2);
static member Choose : System.Threading.Tasks.Dataflow.ISourceBlock<'T1> * Action<'T1> * System.Threading.Tasks.Dataflow.ISourceBlock<'T2> * Action<'T2> -> System.Threading.Tasks.Task<int>
Public Function Choose(Of T1, T2) (source1 As ISourceBlock(Of T1), action1 As Action(Of T1), source2 As ISourceBlock(Of T2), action2 As Action(Of T2)) As Task(Of Integer)

형식 매개 변수

T1

첫 번째 소스에 포함된 데이터 형식을 지정합니다.

T2

두 번째 소스에 포함된 데이터 형식을 지정합니다.

매개 변수

source1
ISourceBlock<T1>

첫 번째 소스입니다.

action1
Action<T1>

첫 번째 소스에서 데이터에 실행할 처리기입니다.

source2
ISourceBlock<T2>

두 번째 소스입니다.

action2
Action<T2>

두 번째 소스에서 데이터에 실행할 처리기입니다.

반환

Task<Int32>

비동기 선택을 나타내는 Task<TResult>입니다. 선택이 완료되기 전에 두 소스가 완료되면 결과 작업이 취소됩니다. 소스 중 하나가 사용 가능한 데이터가 있으며 선택한 내용으로 성공적으로 전파하면 처리기가 완료될 때 결과 작업이 완료되고 처리기에서 예외가 throw되면 작업이 Faulted 상태에서 종료되며 처리되지 않은 예외를 포함합니다. 또는 작업은 0 또는 1로 설정된 상태의 Result로 끝나 첫 번째나 두 번째 소스를 각각 나타냅니다.

이 메서드는 두 데이터 소스의 요소를 모두 사용하는 것이 아니라 둘 중 한 소스의 요소만 사용합니다.

예외

source1null인 경우

또는 action1null인 경우

또는 source2null인 경우

또는 action2null인 경우

적용 대상

Choose<T1,T2>(ISourceBlock<T1>, Action<T1>, ISourceBlock<T2>, Action<T2>, DataflowBlockOptions)

두 개의 데이터 흐름 소스를 모니터링하여 제공된 처리기 중에서 데이터를 가장 먼저 사용할 수 있도록 하는 소스를 호출합니다.

public:
generic <typename T1, typename T2>
 static System::Threading::Tasks::Task<int> ^ Choose(System::Threading::Tasks::Dataflow::ISourceBlock<T1> ^ source1, Action<T1> ^ action1, System::Threading::Tasks::Dataflow::ISourceBlock<T2> ^ source2, Action<T2> ^ action2, System::Threading::Tasks::Dataflow::DataflowBlockOptions ^ dataflowBlockOptions);
public static System.Threading.Tasks.Task<int> Choose<T1,T2> (System.Threading.Tasks.Dataflow.ISourceBlock<T1> source1, Action<T1> action1, System.Threading.Tasks.Dataflow.ISourceBlock<T2> source2, Action<T2> action2, System.Threading.Tasks.Dataflow.DataflowBlockOptions dataflowBlockOptions);
static member Choose : System.Threading.Tasks.Dataflow.ISourceBlock<'T1> * Action<'T1> * System.Threading.Tasks.Dataflow.ISourceBlock<'T2> * Action<'T2> * System.Threading.Tasks.Dataflow.DataflowBlockOptions -> System.Threading.Tasks.Task<int>
Public Function Choose(Of T1, T2) (source1 As ISourceBlock(Of T1), action1 As Action(Of T1), source2 As ISourceBlock(Of T2), action2 As Action(Of T2), dataflowBlockOptions As DataflowBlockOptions) As Task(Of Integer)

형식 매개 변수

T1

첫 번째 소스에 포함된 데이터 형식을 지정합니다.

T2

두 번째 소스에 포함된 데이터 형식을 지정합니다.

매개 변수

source1
ISourceBlock<T1>

첫 번째 소스입니다.

action1
Action<T1>

첫 번째 소스에서 데이터에 실행할 처리기입니다.

source2
ISourceBlock<T2>

두 번째 소스입니다.

action2
Action<T2>

두 번째 소스에서 데이터에 실행할 처리기입니다.

dataflowBlockOptions
DataflowBlockOptions

이 선택을 구성하는 옵션입니다.

반환

Task<Int32>

비동기 선택을 나타내는 Task<TResult>입니다. 선택을 완료하기 전에 두 소스가 모두 완료된 경우나 dataflowBlockOptions의 일부로 제공된 CancellationToken이 선택 완료 전에 취소된 경우 결과 작업이 취소됩니다. 소스 중 하나가 사용 가능한 데이터가 있으며 선택한 내용으로 성공적으로 전파하면 처리기가 완료될 때 결과 작업이 완료되고 처리기에서 예외가 throw되면 작업이 Faulted 상태에서 종료되며 처리되지 않은 예외를 포함합니다. 또는 작업은 0 또는 1로 설정된 상태의 Result로 끝나 첫 번째나 두 번째 소스를 각각 나타냅니다.

예외

source1null인 경우

또는 action1null인 경우

또는 source2null인 경우

또는 action2null인 경우

또는 dataflowBlockOptionsnull인 경우

적용 대상