为什么继续使用操作(任务)作为参数



基本上,它要求一个任务作为参数。那是(任务(的行动吗?

为什么?

我知道我可以通过正常的子继续进行。我永远不记得通过一个需要任务参数的子。

根据定义。在大多数情况下,"继续"应在"先行"任务的结果下运作。如果您忘记了如何称呼"继续使用",Visual Studio" Peek定义"将为您提供帮助。因此,右键单击"继续"并选择"窥视定义",您将检查签名。基本上,它看起来像在下面的摘要中显示。

 public Task<TNewResult> ContinueWith<TNewResult>(
      Func<Task<TResult>, TNewResult> continuationFunction)
    {
      StackCrawlMark stackMark = StackCrawlMark.LookForMyCaller;
      return this.ContinueWith<TNewResult>(continuationFunction, TaskScheduler.Current, new CancellationToken(), TaskContinuationOptions.None, ref stackMark);
    }

如果它太复杂,则可以使用片段并保存示例,然后在需要时插入。

所以,让我们创建一个例子。

Module Module1
    Sub Main()
        Dim taskA As Task(Of DayOfWeek) = Task.Run(Function() DateTime.Today.DayOfWeek )
        ' Execute the continuation when the antecedent finishes.
        Dim taskB As Task(Of string) = taskA.ContinueWith(Function (antecedent)
            Return $"Today is {antecedent.Result}"
        End Function)

        taskb.Wait()
        Console.WriteLine(taskB.Result)

        Console.ReadLine()
    End Sub
End Module

相关内容

  • 没有找到相关文章

最新更新