DataflowBlock.Choose 方法

定義

多載

名稱 Description
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>)

來源:
DataflowBlock.cs
來源:
DataflowBlock.cs
來源:
DataflowBlock.cs
來源:
DataflowBlock.cs
來源:
DataflowBlock.cs
來源:
DataflowBlock.cs
來源:
DataflowBlock.cs

監控三個資料流來源,並呼叫先前提供資料來源的處理器。

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>

處理程序用來執行來自第三個來源的資料。

傳回

代表非同步選擇的 A Task<TResult> 。 若所有來源在選擇完成前完成,該任務將被取消。 當其中一個來源擁有可用資料並成功將其傳播到選擇時,結果的任務會在處理者完成時完成;如果處理器拋出例外,任務會以該 Faulted 狀態結束,並包含未處理的例外。 否則,任務將以 0 為基礎的來源索引結束 Result

此方法只會從其中一個資料來源中消耗一個元素,絕不會消耗超過一個。

例外狀況

source1null

-或-

action1null

-或-

source2null

-或-

action2null

-或-

source3null

-或-

action3null

適用於

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

來源:
DataflowBlock.cs
來源:
DataflowBlock.cs
來源:
DataflowBlock.cs
來源:
DataflowBlock.cs
來源:
DataflowBlock.cs
來源:
DataflowBlock.cs
來源:
DataflowBlock.cs

監控三個資料流來源,並呼叫先前提供資料來源的處理器。

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

配置此選項的選項。

傳回

代表非同步選擇的 A Task<TResult> 。 若所有來源在選擇完成前已完成,或CancellationTokendataflowBlockOptions作為部分的來源在完成選擇前被取消,則該任務將被取消。 當其中一個來源擁有可用資料並成功將其傳播到選擇時,結果的任務會在處理者完成時完成;如果處理器拋出例外,任務會以該 Faulted 狀態結束,並包含未處理的例外。 否則,任務將以 0 為基礎的來源索引結束 Result

此方法只會從其中一個資料來源中消耗一個元素,絕不會消耗超過一個。 若在收到元素後仍請求取消,該取消請求將被忽略,相關處理器將被允許執行。

例外狀況

source1null

-或-

action1null

-或-

source2null

-或-

action2null

-或-

source3null

-或-

action3null

-或-

dataflowBlockOptionsnull

適用於

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

來源:
DataflowBlock.cs
來源:
DataflowBlock.cs
來源:
DataflowBlock.cs
來源:
DataflowBlock.cs
來源:
DataflowBlock.cs
來源:
DataflowBlock.cs
來源:
DataflowBlock.cs

監控兩個資料流來源,並呼叫所提供的處理程序,針對最先提供資料的來源。

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>

處理程序用來執行來自第二個來源的資料。

傳回

代表非同步選擇的 A Task<TResult> 。 若兩個來源在選擇完成前都已完成,該任務將被取消。 當其中一個來源擁有可用資料並成功將其傳播到選擇時,結果的任務會在處理者完成時完成;如果處理器拋出例外,任務會以該 Faulted 狀態結束,並包含未處理的例外。 否則,任務將以 0 或 1 分別代表第一個或第二個來源結束 Result

此方法只會從兩個資料來源中取用一個元素,絕不會同時使用兩個來源。

例外狀況

source1null

-或-

action1null

-或-

source2null

-或-

action2null

適用於

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

來源:
DataflowBlock.cs
來源:
DataflowBlock.cs
來源:
DataflowBlock.cs
來源:
DataflowBlock.cs
來源:
DataflowBlock.cs
來源:
DataflowBlock.cs
來源:
DataflowBlock.cs

監控兩個資料流來源,並呼叫所提供的處理程序,針對最先提供資料的來源。

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

配置此選項的選項。

傳回

代表非同步選擇的 A Task<TResult> 。 若兩個來源在選擇完成前已完成,或 CancellationToken 所提供的 dataflowBlockOptions 部分在完成選擇完成前被取消,則該任務將被取消。 當其中一個來源擁有可用資料並成功將其傳播到選擇時,結果的任務會在處理者完成時完成;如果處理器拋出例外,任務會以該 Faulted 狀態結束,並包含未處理的例外。 否則,任務將以 0 或 1 分別代表第一個或第二個來源結束 Result

例外狀況

source1null

-或-

action1null

-或-

source2null

-或-

action2null

-或-

dataflowBlockOptionsnull

適用於