ContinueWith 默认值是什么
What are the ContinueWith default values
ContinueWith(Action<Task> continuationAction)
用于 CancellationToken
、TaskContinuationOptions
和 TaskScheduler
的值是什么?我可以在官方文档中的何处找到它?
MSDN 没有明确说明这一点,但通常当您有方法重载时,所有其他参数都是 "default"。让我们在.NET source:
中找到这个方法
public Task ContinueWith(Action<Task, Object> continuationAction)
{
StackCrawlMark stackMark = StackCrawlMark.LookForMyCaller;
return ContinueWith(continuationAction, TaskScheduler.Current, default(CancellationToken), TaskContinuationOptions.None, ref stackMark);
}
所以使用默认CancellationToken
(即CancellationToken.None
),空TaskContinuationOptions
和当前TaskScheduler
您可以在 http://referencesource.microsoft.com/. In your case the exact overload (ContinueWith(Action<Task> continuationAction)
) 上查看 .Net 的大部分实际源代码,如下所示:
public Task ContinueWith(Action<Task> continuationAction)
{
StackCrawlMark stackMark = StackCrawlMark.LookForMyCaller;
return ContinueWith(continuationAction, TaskScheduler.Current, default(CancellationToken), TaskContinuationOptions.None, ref stackMark);
}
因此,对于 CancellationToken
,它是 default(CancellationToken)
,相当于 CancellationToken.None
。
TaskContinuationOptions
是 TaskContinuationOptions.None
.
TaskScheduler
是 TaskScheduler.Current
ContinueWith(Action<Task> continuationAction)
用于 CancellationToken
、TaskContinuationOptions
和 TaskScheduler
的值是什么?我可以在官方文档中的何处找到它?
MSDN 没有明确说明这一点,但通常当您有方法重载时,所有其他参数都是 "default"。让我们在.NET source:
中找到这个方法public Task ContinueWith(Action<Task, Object> continuationAction)
{
StackCrawlMark stackMark = StackCrawlMark.LookForMyCaller;
return ContinueWith(continuationAction, TaskScheduler.Current, default(CancellationToken), TaskContinuationOptions.None, ref stackMark);
}
所以使用默认CancellationToken
(即CancellationToken.None
),空TaskContinuationOptions
和当前TaskScheduler
您可以在 http://referencesource.microsoft.com/. In your case the exact overload (ContinueWith(Action<Task> continuationAction)
) 上查看 .Net 的大部分实际源代码,如下所示:
public Task ContinueWith(Action<Task> continuationAction)
{
StackCrawlMark stackMark = StackCrawlMark.LookForMyCaller;
return ContinueWith(continuationAction, TaskScheduler.Current, default(CancellationToken), TaskContinuationOptions.None, ref stackMark);
}
因此,对于 CancellationToken
,它是 default(CancellationToken)
,相当于 CancellationToken.None
。
TaskContinuationOptions
是 TaskContinuationOptions.None
.
TaskScheduler
是 TaskScheduler.Current