DataflowBlock.Choose 메서드
정의
중요
일부 정보는 릴리스되기 전에 상당 부분 수정될 수 있는 시험판 제품과 관련이 있습니다. Microsoft는 여기에 제공된 정보에 대해 어떠한 명시적이거나 묵시적인 보증도 하지 않습니다.
오버로드
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<TResult>입니다. 선택이 완료되기 전에 모든 소스가 완료되면 결과 작업이 취소됩니다. 소스 중 하나가 사용 가능한 데이터가 있으며 선택한 내용으로 성공적으로 전파하면 처리기가 완료될 때 결과 작업이 완료되고 처리기에서 예외가 throw되면 작업이 Faulted 상태에서 종료되며 처리되지 않은 예외를 포함합니다. 그렇지 않으면 Result가 0부터 시작하는 소스 인덱스로 설정되어 종료됩니다.
이 메서드는 데이터 소스 중 두 개 이상이 아닌 하나의 요소만 사용합니다.
예외
source1
이 null
인 경우
또는
action1
이 null
인 경우
또는
source2
이 null
인 경우
또는
action2
이 null
인 경우
또는
source3
이 null
인 경우
또는
action3
이 null
인 경우
적용 대상
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<TResult>입니다. 선택을 완료하기 전에 모든 소스가 완료된 경우나 dataflowBlockOptions
의 일부로 제공된 CancellationToken이 선택 완료 전에 취소된 경우 결과 작업이 취소됩니다. 소스 중 하나가 사용 가능한 데이터가 있으며 선택한 내용으로 성공적으로 전파하면 처리기가 완료될 때 결과 작업이 완료되고 처리기에서 예외가 throw되면 작업이 Faulted 상태에서 종료되며 처리되지 않은 예외를 포함합니다. 그렇지 않으면 Result가 0부터 시작하는 소스 인덱스로 설정되어 종료됩니다.
이 메서드는 데이터 소스 중 두 개 이상이 아닌 하나의 요소만 사용합니다. 요소를 받은 후 취소가 요청된 경우 취소 요청이 무시되고 관련 처리기가 실행될 수 있도록 허용됩니다.
예외
source1
이 null
인 경우
또는
action1
이 null
인 경우
또는
source2
이 null
인 경우
또는
action2
이 null
인 경우
또는
source3
이 null
인 경우
또는
action3
이 null
인 경우
또는
dataflowBlockOptions
이 null
인 경우
적용 대상
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<TResult>입니다. 선택이 완료되기 전에 두 소스가 완료되면 결과 작업이 취소됩니다. 소스 중 하나가 사용 가능한 데이터가 있으며 선택한 내용으로 성공적으로 전파하면 처리기가 완료될 때 결과 작업이 완료되고 처리기에서 예외가 throw되면 작업이 Faulted 상태에서 종료되며 처리되지 않은 예외를 포함합니다. 또는 작업은 0 또는 1로 설정된 상태의 Result로 끝나 첫 번째나 두 번째 소스를 각각 나타냅니다.
이 메서드는 두 데이터 소스의 요소를 모두 사용하는 것이 아니라 둘 중 한 소스의 요소만 사용합니다.
예외
source1
이 null
인 경우
또는
action1
이 null
인 경우
또는
source2
이 null
인 경우
또는
action2
이 null
인 경우
적용 대상
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<TResult>입니다. 선택을 완료하기 전에 두 소스가 모두 완료된 경우나 dataflowBlockOptions
의 일부로 제공된 CancellationToken이 선택 완료 전에 취소된 경우 결과 작업이 취소됩니다. 소스 중 하나가 사용 가능한 데이터가 있으며 선택한 내용으로 성공적으로 전파하면 처리기가 완료될 때 결과 작업이 완료되고 처리기에서 예외가 throw되면 작업이 Faulted 상태에서 종료되며 처리되지 않은 예외를 포함합니다. 또는 작업은 0 또는 1로 설정된 상태의 Result로 끝나 첫 번째나 두 번째 소스를 각각 나타냅니다.
예외
source1
이 null
인 경우
또는
action1
이 null
인 경우
또는
source2
이 null
인 경우
또는
action2
이 null
인 경우
또는
dataflowBlockOptions
이 null
인 경우