TaskExtensions Class

Provides extension methods for Task and ValueTask.

public static class TaskExtensions

Nested types

NameDescription
TaskExtensions.TupleConfiguredTaskAwaitable2
TaskExtensions.TupleConfiguredTaskAwaitable3
TaskExtensions.TupleConfiguredTaskAwaitable4
TaskExtensions.TupleConfiguredTaskAwaitable5
TaskExtensions.TupleConfiguredTaskAwaitable6
TaskExtensions.TupleConfiguredTaskAwaitable7
TaskExtensions.TupleConfiguredTaskAwaitable<T1, T2>
TaskExtensions.TupleConfiguredTaskAwaitable<T1, T2, T3>
TaskExtensions.TupleConfiguredTaskAwaitable<T1, T2, T3, T4>
TaskExtensions.TupleConfiguredTaskAwaitable<T1, T2, T3, T4, T5>
TaskExtensions.TupleConfiguredTaskAwaitable<T1, T2, T3, T4, T5, T6>
TaskExtensions.TupleConfiguredTaskAwaitable<T1, T2, T3, T4, T5, T6, T7>
TaskExtensions.TupleTaskAwaiter2
TaskExtensions.TupleTaskAwaiter3
TaskExtensions.TupleTaskAwaiter4
TaskExtensions.TupleTaskAwaiter5
TaskExtensions.TupleTaskAwaiter6
TaskExtensions.TupleTaskAwaiter7
TaskExtensions.TupleTaskAwaiter<T1, T2>
TaskExtensions.TupleTaskAwaiter<T1, T2, T3>
TaskExtensions.TupleTaskAwaiter<T1, T2, T3, T4>
TaskExtensions.TupleTaskAwaiter<T1, T2, T3, T4, T5>
TaskExtensions.TupleTaskAwaiter<T1, T2, T3, T4, T5, T6>
TaskExtensions.TupleTaskAwaiter<T1, T2, T3, T4, T5, T6, T7>

Methods

NameDescription
ConfigureAwait((Task, Task, Task, Task, Task, Task, Task), bool)
ConfigureAwait((Task, Task, Task, Task, Task, Task, Task), ConfigureAwaitOptions)
ConfigureAwait((Task, Task, Task, Task, Task, Task), bool)
ConfigureAwait((Task, Task, Task, Task, Task, Task), ConfigureAwaitOptions)
ConfigureAwait((Task, Task, Task, Task, Task), bool)
ConfigureAwait((Task, Task, Task, Task, Task), ConfigureAwaitOptions)
ConfigureAwait((Task, Task, Task, Task), bool)
ConfigureAwait((Task, Task, Task, Task), ConfigureAwaitOptions)
ConfigureAwait((Task, Task, Task), bool)
ConfigureAwait((Task, Task, Task), ConfigureAwaitOptions)
ConfigureAwait((Task, Task), bool)
ConfigureAwait((Task, Task), ConfigureAwaitOptions)
ConfigureAwait(ValueTuple<Task>, bool)
ConfigureAwait(ValueTuple<Task>, ConfigureAwaitOptions)
ConfigureAwait((ValueTask, ValueTask, ValueTask, ValueTask, ValueTask, ValueTask, ValueTask), bool)Configures how awaiting all the value tasks of the tuple resumes. The tasks are combined the same way as Task.WhenAll.
ConfigureAwait((ValueTask, ValueTask, ValueTask, ValueTask, ValueTask, ValueTask), bool)Configures how awaiting all the value tasks of the tuple resumes. The tasks are combined the same way as Task.WhenAll.
ConfigureAwait((ValueTask, ValueTask, ValueTask, ValueTask, ValueTask), bool)Configures how awaiting all the value tasks of the tuple resumes. The tasks are combined the same way as Task.WhenAll.
ConfigureAwait((ValueTask, ValueTask, ValueTask, ValueTask), bool)Configures how awaiting all the value tasks of the tuple resumes. The tasks are combined the same way as Task.WhenAll.
ConfigureAwait((ValueTask, ValueTask, ValueTask), bool)Configures how awaiting all the value tasks of the tuple resumes. The tasks are combined the same way as Task.WhenAll.
ConfigureAwait((ValueTask, ValueTask), bool)Configures how awaiting all the value tasks of the tuple resumes. The tasks are combined the same way as Task.WhenAll.
ConfigureAwait<T1>(ValueTuple<Task<T1>>, bool)
ConfigureAwait<T1>(ValueTuple<Task<T1>>, ConfigureAwaitOptions)
ConfigureAwait<T1>(ValueTuple<ValueTask<T1>>, bool)Configures how awaiting all the value tasks of the tuple resumes. The tasks are combined the same way as TaskExtensions.WhenAll, and the result is the tuple of their results.
ConfigureAwait<T1, T2>((Task<T1>, Task<T2>), bool)
ConfigureAwait<T1, T2>((Task<T1>, Task<T2>), ConfigureAwaitOptions)
ConfigureAwait<T1, T2>((ValueTask<T1>, ValueTask<T2>), bool)Configures how awaiting all the value tasks of the tuple resumes. The tasks are combined the same way as TaskExtensions.WhenAll, and the result is the tuple of their results.
ConfigureAwait<T1, T2, T3>((Task<T1>, Task<T2>, Task<T3>), bool)
ConfigureAwait<T1, T2, T3>((Task<T1>, Task<T2>, Task<T3>), ConfigureAwaitOptions)
ConfigureAwait<T1, T2, T3>((ValueTask<T1>, ValueTask<T2>, ValueTask<T3>), bool)Configures how awaiting all the value tasks of the tuple resumes. The tasks are combined the same way as TaskExtensions.WhenAll, and the result is the tuple of their results.
ConfigureAwait<T1, T2, T3, T4>((Task<T1>, Task<T2>, Task<T3>, Task<T4>), bool)
ConfigureAwait<T1, T2, T3, T4>((Task<T1>, Task<T2>, Task<T3>, Task<T4>), ConfigureAwaitOptions)
ConfigureAwait<T1, T2, T3, T4>((ValueTask<T1>, ValueTask<T2>, ValueTask<T3>, ValueTask<T4>), bool)Configures how awaiting all the value tasks of the tuple resumes. The tasks are combined the same way as TaskExtensions.WhenAll, and the result is the tuple of their results.
ConfigureAwait<T1, T2, T3, T4, T5>((Task<T1>, Task<T2>, Task<T3>, Task<T4>, Task<T5>), bool)
ConfigureAwait<T1, T2, T3, T4, T5>((Task<T1>, Task<T2>, Task<T3>, Task<T4>, Task<T5>), ConfigureAwaitOptions)
ConfigureAwait<T1, T2, T3, T4, T5>((ValueTask<T1>, ValueTask<T2>, ValueTask<T3>, ValueTask<T4>, ValueTask<T5>), bool)Configures how awaiting all the value tasks of the tuple resumes. The tasks are combined the same way as TaskExtensions.WhenAll, and the result is the tuple of their results.
ConfigureAwait<T1, T2, T3, T4, T5, T6>((Task<T1>, Task<T2>, Task<T3>, Task<T4>, Task<T5>, Task<T6>), bool)
ConfigureAwait<T1, T2, T3, T4, T5, T6>((Task<T1>, Task<T2>, Task<T3>, Task<T4>, Task<T5>, Task<T6>), ConfigureAwaitOptions)
ConfigureAwait<T1, T2, T3, T4, T5, T6>((ValueTask<T1>, ValueTask<T2>, ValueTask<T3>, ValueTask<T4>, ValueTask<T5>, ValueTask<T6>), bool)Configures how awaiting all the value tasks of the tuple resumes. The tasks are combined the same way as TaskExtensions.WhenAll, and the result is the tuple of their results.
ConfigureAwait<T1, T2, T3, T4, T5, T6, T7>((Task<T1>, Task<T2>, Task<T3>, Task<T4>, Task<T5>, Task<T6>, Task<T7>), bool)
ConfigureAwait<T1, T2, T3, T4, T5, T6, T7>((Task<T1>, Task<T2>, Task<T3>, Task<T4>, Task<T5>, Task<T6>, Task<T7>), ConfigureAwaitOptions)
ConfigureAwait<T1, T2, T3, T4, T5, T6, T7>((ValueTask<T1>, ValueTask<T2>, ValueTask<T3>, ValueTask<T4>, ValueTask<T5>, ValueTask<T6>, ValueTask<T7>), bool)Configures how awaiting all the value tasks of the tuple resumes. The tasks are combined the same way as TaskExtensions.WhenAll, and the result is the tuple of their results.
Forget(Task)Allows a task to continue executing without waiting for it to complete, while still observing any exceptions.
GetAwaiter((Task, Task, Task, Task, Task, Task, Task))
GetAwaiter((Task, Task, Task, Task, Task, Task))
GetAwaiter((Task, Task, Task, Task, Task))
GetAwaiter((Task, Task, Task, Task))
GetAwaiter((Task, Task, Task))
GetAwaiter((Task, Task))
GetAwaiter(ValueTuple<Task>)
GetAwaiter((ValueTask, ValueTask, ValueTask, ValueTask, ValueTask, ValueTask, ValueTask))
GetAwaiter((ValueTask, ValueTask, ValueTask, ValueTask, ValueTask, ValueTask))
GetAwaiter((ValueTask, ValueTask, ValueTask, ValueTask, ValueTask))
GetAwaiter((ValueTask, ValueTask, ValueTask, ValueTask))
GetAwaiter((ValueTask, ValueTask, ValueTask))
GetAwaiter((ValueTask, ValueTask))
GetAwaiter<T1>(ValueTuple<Task<T1>>)
GetAwaiter<T1>(ValueTuple<ValueTask<T1>>)
GetAwaiter<T1, T2>((Task<T1>, Task<T2>))
GetAwaiter<T1, T2>((ValueTask<T1>, ValueTask<T2>))
GetAwaiter<T1, T2, T3>((Task<T1>, Task<T2>, Task<T3>))
GetAwaiter<T1, T2, T3>((ValueTask<T1>, ValueTask<T2>, ValueTask<T3>))
GetAwaiter<T1, T2, T3, T4>((Task<T1>, Task<T2>, Task<T3>, Task<T4>))
GetAwaiter<T1, T2, T3, T4>((ValueTask<T1>, ValueTask<T2>, ValueTask<T3>, ValueTask<T4>))
GetAwaiter<T1, T2, T3, T4, T5>((Task<T1>, Task<T2>, Task<T3>, Task<T4>, Task<T5>))
GetAwaiter<T1, T2, T3, T4, T5>((ValueTask<T1>, ValueTask<T2>, ValueTask<T3>, ValueTask<T4>, ValueTask<T5>))
GetAwaiter<T1, T2, T3, T4, T5, T6>((Task<T1>, Task<T2>, Task<T3>, Task<T4>, Task<T5>, Task<T6>))
GetAwaiter<T1, T2, T3, T4, T5, T6>((ValueTask<T1>, ValueTask<T2>, ValueTask<T3>, ValueTask<T4>, ValueTask<T5>, ValueTask<T6>))
GetAwaiter<T1, T2, T3, T4, T5, T6, T7>((Task<T1>, Task<T2>, Task<T3>, Task<T4>, Task<T5>, Task<T6>, Task<T7>))
GetAwaiter<T1, T2, T3, T4, T5, T6, T7>((ValueTask<T1>, ValueTask<T2>, ValueTask<T3>, ValueTask<T4>, ValueTask<T5>, ValueTask<T6>, ValueTask<T7>))
WhenAll<T1>(ValueTask<T1>)Awaits all the specified tasks and returns their results in a tuple.
WhenAll<T1, T2>(ValueTask<T1>, ValueTask<T2>)Awaits all the specified tasks and returns their results in a tuple.
WhenAll<T1, T2, T3>(ValueTask<T1>, ValueTask<T2>, ValueTask<T3>)Awaits all the specified tasks and returns their results in a tuple.
WhenAll<T1, T2, T3, T4>(ValueTask<T1>, ValueTask<T2>, ValueTask<T3>, ValueTask<T4>)Awaits all the specified tasks and returns their results in a tuple.
WhenAll<T1, T2, T3, T4, T5>(ValueTask<T1>, ValueTask<T2>, ValueTask<T3>, ValueTask<T4>, ValueTask<T5>)Awaits all the specified tasks and returns their results in a tuple.
WhenAll<T1, T2, T3, T4, T5, T6>(ValueTask<T1>, ValueTask<T2>, ValueTask<T3>, ValueTask<T4>, ValueTask<T5>, ValueTask<T6>)Awaits all the specified tasks and returns their results in a tuple.
WhenAll<T1, T2, T3, T4, T5, T6, T7>(ValueTask<T1>, ValueTask<T2>, ValueTask<T3>, ValueTask<T4>, ValueTask<T5>, ValueTask<T6>, ValueTask<T7>)Awaits all the specified tasks and returns their results in a tuple.

ConfigureAwait overloads

ConfigureAwait((Task, Task, Task, Task, Task, Task, Task), bool)

TaskExtensions.WhenAll.cs
public static TaskExtensions.TupleConfiguredTaskAwaitable7 ConfigureAwait(this (Task, Task, Task, Task, Task, Task, Task) tasks, bool continueOnCapturedContext)

No documentation is available.

ConfigureAwait((Task, Task, Task, Task, Task, Task, Task), ConfigureAwaitOptions)

TaskExtensions.WhenAll.cs

ConfigureAwait((Task, Task, Task, Task, Task, Task), bool)

TaskExtensions.WhenAll.cs
public static TaskExtensions.TupleConfiguredTaskAwaitable6 ConfigureAwait(this (Task, Task, Task, Task, Task, Task) tasks, bool continueOnCapturedContext)

No documentation is available.

ConfigureAwait((Task, Task, Task, Task, Task, Task), ConfigureAwaitOptions)

TaskExtensions.WhenAll.cs
public static TaskExtensions.TupleConfiguredTaskAwaitable6 ConfigureAwait(this (Task, Task, Task, Task, Task, Task) tasks, ConfigureAwaitOptions options)

No documentation is available.

ConfigureAwait((Task, Task, Task, Task, Task), bool)

TaskExtensions.WhenAll.cs
public static TaskExtensions.TupleConfiguredTaskAwaitable5 ConfigureAwait(this (Task, Task, Task, Task, Task) tasks, bool continueOnCapturedContext)

No documentation is available.

ConfigureAwait((Task, Task, Task, Task, Task), ConfigureAwaitOptions)

TaskExtensions.WhenAll.cs
public static TaskExtensions.TupleConfiguredTaskAwaitable5 ConfigureAwait(this (Task, Task, Task, Task, Task) tasks, ConfigureAwaitOptions options)

No documentation is available.

ConfigureAwait((Task, Task, Task, Task), bool)

TaskExtensions.WhenAll.cs
public static TaskExtensions.TupleConfiguredTaskAwaitable4 ConfigureAwait(this (Task, Task, Task, Task) tasks, bool continueOnCapturedContext)
Parameters
tasks (Task, Task, Task, Task)
continueOnCapturedContext bool
Returns

TaskExtensions.TupleConfiguredTaskAwaitable4

No documentation is available.

ConfigureAwait((Task, Task, Task, Task), ConfigureAwaitOptions)

TaskExtensions.WhenAll.cs
public static TaskExtensions.TupleConfiguredTaskAwaitable4 ConfigureAwait(this (Task, Task, Task, Task) tasks, ConfigureAwaitOptions options)

No documentation is available.

ConfigureAwait((Task, Task, Task), bool)

TaskExtensions.WhenAll.cs
public static TaskExtensions.TupleConfiguredTaskAwaitable3 ConfigureAwait(this (Task, Task, Task) tasks, bool continueOnCapturedContext)
Parameters
tasks (Task, Task, Task)
continueOnCapturedContext bool
Returns

TaskExtensions.TupleConfiguredTaskAwaitable3

No documentation is available.

ConfigureAwait((Task, Task, Task), ConfigureAwaitOptions)

TaskExtensions.WhenAll.cs
public static TaskExtensions.TupleConfiguredTaskAwaitable3 ConfigureAwait(this (Task, Task, Task) tasks, ConfigureAwaitOptions options)

No documentation is available.

ConfigureAwait((Task, Task), bool)

TaskExtensions.WhenAll.cs
public static TaskExtensions.TupleConfiguredTaskAwaitable2 ConfigureAwait(this (Task, Task) tasks, bool continueOnCapturedContext)
Parameters
tasks (Task, Task)
continueOnCapturedContext bool
Returns

TaskExtensions.TupleConfiguredTaskAwaitable2

No documentation is available.

ConfigureAwait((Task, Task), ConfigureAwaitOptions)

TaskExtensions.WhenAll.cs
public static TaskExtensions.TupleConfiguredTaskAwaitable2 ConfigureAwait(this (Task, Task) tasks, ConfigureAwaitOptions options)

No documentation is available.

ConfigureAwait(ValueTuple<Task>, bool)

TaskExtensions.WhenAll.cs
public static ConfiguredTaskAwaitable ConfigureAwait(this ValueTuple<Task> tasks, bool continueOnCapturedContext)
Parameters
tasks ValueTuple<Task>
continueOnCapturedContext bool
Returns

ConfiguredTaskAwaitable

No documentation is available.

ConfigureAwait(ValueTuple<Task>, ConfigureAwaitOptions)

TaskExtensions.WhenAll.cs
public static ConfiguredTaskAwaitable ConfigureAwait(this ValueTuple<Task> tasks, ConfigureAwaitOptions options)

No documentation is available.

ConfigureAwait((ValueTask, ValueTask, ValueTask, ValueTask, ValueTask, ValueTask, ValueTask), bool)

TaskExtensions.WhenAll.cs

Configures how awaiting all the value tasks of the tuple resumes. The tasks are combined the same way as Task.WhenAll.

public static ConfiguredValueTaskAwaitable ConfigureAwait(this (ValueTask, ValueTask, ValueTask, ValueTask, ValueTask, ValueTask, ValueTask) tasks, bool continueOnCapturedContext)
Parameters
tasks (ValueTask, ValueTask, ValueTask, ValueTask, ValueTask, ValueTask, ValueTask)
The value tasks to await. Each of them is consumed once.
continueOnCapturedContext bool
true to resume on the captured context; otherwise, false.
Returns

ConfiguredValueTaskAwaitable

ConfigureAwait((ValueTask, ValueTask, ValueTask, ValueTask, ValueTask, ValueTask), bool)

TaskExtensions.WhenAll.cs

Configures how awaiting all the value tasks of the tuple resumes. The tasks are combined the same way as Task.WhenAll.

public static ConfiguredValueTaskAwaitable ConfigureAwait(this (ValueTask, ValueTask, ValueTask, ValueTask, ValueTask, ValueTask) tasks, bool continueOnCapturedContext)
Parameters
tasks (ValueTask, ValueTask, ValueTask, ValueTask, ValueTask, ValueTask)
The value tasks to await. Each of them is consumed once.
continueOnCapturedContext bool
true to resume on the captured context; otherwise, false.
Returns

ConfiguredValueTaskAwaitable

ConfigureAwait((ValueTask, ValueTask, ValueTask, ValueTask, ValueTask), bool)

TaskExtensions.WhenAll.cs

Configures how awaiting all the value tasks of the tuple resumes. The tasks are combined the same way as Task.WhenAll.

public static ConfiguredValueTaskAwaitable ConfigureAwait(this (ValueTask, ValueTask, ValueTask, ValueTask, ValueTask) tasks, bool continueOnCapturedContext)
Parameters
tasks (ValueTask, ValueTask, ValueTask, ValueTask, ValueTask)
The value tasks to await. Each of them is consumed once.
continueOnCapturedContext bool
true to resume on the captured context; otherwise, false.
Returns

ConfiguredValueTaskAwaitable

ConfigureAwait((ValueTask, ValueTask, ValueTask, ValueTask), bool)

TaskExtensions.WhenAll.cs

Configures how awaiting all the value tasks of the tuple resumes. The tasks are combined the same way as Task.WhenAll.

public static ConfiguredValueTaskAwaitable ConfigureAwait(this (ValueTask, ValueTask, ValueTask, ValueTask) tasks, bool continueOnCapturedContext)
Parameters
tasks (ValueTask, ValueTask, ValueTask, ValueTask)
The value tasks to await. Each of them is consumed once.
continueOnCapturedContext bool
true to resume on the captured context; otherwise, false.
Returns

ConfiguredValueTaskAwaitable

ConfigureAwait((ValueTask, ValueTask, ValueTask), bool)

TaskExtensions.WhenAll.cs

Configures how awaiting all the value tasks of the tuple resumes. The tasks are combined the same way as Task.WhenAll.

public static ConfiguredValueTaskAwaitable ConfigureAwait(this (ValueTask, ValueTask, ValueTask) tasks, bool continueOnCapturedContext)
Parameters
tasks (ValueTask, ValueTask, ValueTask)
The value tasks to await. Each of them is consumed once.
continueOnCapturedContext bool
true to resume on the captured context; otherwise, false.
Returns

ConfiguredValueTaskAwaitable

ConfigureAwait((ValueTask, ValueTask), bool)

TaskExtensions.WhenAll.cs

Configures how awaiting all the value tasks of the tuple resumes. The tasks are combined the same way as Task.WhenAll.

public static ConfiguredValueTaskAwaitable ConfigureAwait(this (ValueTask, ValueTask) tasks, bool continueOnCapturedContext)
Parameters
tasks (ValueTask, ValueTask)
The value tasks to await. Each of them is consumed once.
continueOnCapturedContext bool
true to resume on the captured context; otherwise, false.
Returns

ConfiguredValueTaskAwaitable

ConfigureAwait<T1>(ValueTuple<Task<T1>>, bool)

TaskExtensions.WhenAll.cs
public static ConfiguredTaskAwaitable<T1> ConfigureAwait<T1>(this ValueTuple<Task<T1>> tasks, bool continueOnCapturedContext)
Type parameters
T1
Parameters
tasks ValueTuple<Task<T1>>
continueOnCapturedContext bool
Returns

ConfiguredTaskAwaitable<T1>

No documentation is available.

ConfigureAwait<T1>(ValueTuple<Task<T1>>, ConfigureAwaitOptions)

TaskExtensions.WhenAll.cs
public static ConfiguredTaskAwaitable<T1> ConfigureAwait<T1>(this ValueTuple<Task<T1>> tasks, ConfigureAwaitOptions options)
Type parameters
T1
Parameters
tasks ValueTuple<Task<T1>>
options ConfigureAwaitOptions
Returns

ConfiguredTaskAwaitable<T1>

No documentation is available.

ConfigureAwait<T1>(ValueTuple<ValueTask<T1>>, bool)

TaskExtensions.WhenAll.cs

Configures how awaiting all the value tasks of the tuple resumes. The tasks are combined the same way as TaskExtensions.WhenAll, and the result is the tuple of their results.

public static ConfiguredValueTaskAwaitable<ValueTuple<T1>> ConfigureAwait<T1>(this ValueTuple<ValueTask<T1>> tasks, bool continueOnCapturedContext)
Type parameters
T1
Parameters
tasks ValueTuple<ValueTask<T1>>
The value tasks to await. Each of them is consumed once.
continueOnCapturedContext bool
true to resume on the captured context; otherwise, false.
Returns

ConfiguredValueTaskAwaitable<ValueTuple<T1>>

ConfigureAwait<T1, T2>((Task<T1>, Task<T2>), bool)

TaskExtensions.WhenAll.cs
public static TaskExtensions.TupleConfiguredTaskAwaitable<T1, T2> ConfigureAwait<T1, T2>(this (Task<T1>, Task<T2>) tasks, bool continueOnCapturedContext)
Type parameters
T1
T2
Parameters
tasks (Task<T1>, Task<T2>)
continueOnCapturedContext bool
Returns

TaskExtensions.TupleConfiguredTaskAwaitable<T1, T2>

No documentation is available.

ConfigureAwait<T1, T2>((Task<T1>, Task<T2>), ConfigureAwaitOptions)

TaskExtensions.WhenAll.cs
public static TaskExtensions.TupleConfiguredTaskAwaitable<T1, T2> ConfigureAwait<T1, T2>(this (Task<T1>, Task<T2>) tasks, ConfigureAwaitOptions options)

No documentation is available.

ConfigureAwait<T1, T2>((ValueTask<T1>, ValueTask<T2>), bool)

TaskExtensions.WhenAll.cs

Configures how awaiting all the value tasks of the tuple resumes. The tasks are combined the same way as TaskExtensions.WhenAll, and the result is the tuple of their results.

public static ConfiguredValueTaskAwaitable<(T1, T2)> ConfigureAwait<T1, T2>(this (ValueTask<T1>, ValueTask<T2>) tasks, bool continueOnCapturedContext)
Type parameters
T1
T2
Parameters
tasks (ValueTask<T1>, ValueTask<T2>)
The value tasks to await. Each of them is consumed once.
continueOnCapturedContext bool
true to resume on the captured context; otherwise, false.
Returns

ConfiguredValueTaskAwaitable<(T1, T2)>

ConfigureAwait<T1, T2, T3>((Task<T1>, Task<T2>, Task<T3>), bool)

TaskExtensions.WhenAll.cs
public static TaskExtensions.TupleConfiguredTaskAwaitable<T1, T2, T3> ConfigureAwait<T1, T2, T3>(this (Task<T1>, Task<T2>, Task<T3>) tasks, bool continueOnCapturedContext)
Type parameters
T1
T2
T3
Parameters
tasks (Task<T1>, Task<T2>, Task<T3>)
continueOnCapturedContext bool
Returns

TaskExtensions.TupleConfiguredTaskAwaitable<T1, T2, T3>

No documentation is available.

ConfigureAwait<T1, T2, T3>((Task<T1>, Task<T2>, Task<T3>), ConfigureAwaitOptions)

TaskExtensions.WhenAll.cs
public static TaskExtensions.TupleConfiguredTaskAwaitable<T1, T2, T3> ConfigureAwait<T1, T2, T3>(this (Task<T1>, Task<T2>, Task<T3>) tasks, ConfigureAwaitOptions options)

No documentation is available.

ConfigureAwait<T1, T2, T3>((ValueTask<T1>, ValueTask<T2>, ValueTask<T3>), bool)

TaskExtensions.WhenAll.cs

Configures how awaiting all the value tasks of the tuple resumes. The tasks are combined the same way as TaskExtensions.WhenAll, and the result is the tuple of their results.

public static ConfiguredValueTaskAwaitable<(T1, T2, T3)> ConfigureAwait<T1, T2, T3>(this (ValueTask<T1>, ValueTask<T2>, ValueTask<T3>) tasks, bool continueOnCapturedContext)
Type parameters
T1
T2
T3
Parameters
tasks (ValueTask<T1>, ValueTask<T2>, ValueTask<T3>)
The value tasks to await. Each of them is consumed once.
continueOnCapturedContext bool
true to resume on the captured context; otherwise, false.
Returns

ConfiguredValueTaskAwaitable<(T1, T2, T3)>

ConfigureAwait<T1, T2, T3, T4>((Task<T1>, Task<T2>, Task<T3>, Task<T4>), bool)

TaskExtensions.WhenAll.cs
public static TaskExtensions.TupleConfiguredTaskAwaitable<T1, T2, T3, T4> ConfigureAwait<T1, T2, T3, T4>(this (Task<T1>, Task<T2>, Task<T3>, Task<T4>) tasks, bool continueOnCapturedContext)
Type parameters
T1
T2
T3
T4
Parameters
tasks (Task<T1>, Task<T2>, Task<T3>, Task<T4>)
continueOnCapturedContext bool
Returns

TaskExtensions.TupleConfiguredTaskAwaitable<T1, T2, T3, T4>

No documentation is available.

ConfigureAwait<T1, T2, T3, T4>((Task<T1>, Task<T2>, Task<T3>, Task<T4>), ConfigureAwaitOptions)

TaskExtensions.WhenAll.cs
public static TaskExtensions.TupleConfiguredTaskAwaitable<T1, T2, T3, T4> ConfigureAwait<T1, T2, T3, T4>(this (Task<T1>, Task<T2>, Task<T3>, Task<T4>) tasks, ConfigureAwaitOptions options)

No documentation is available.

ConfigureAwait<T1, T2, T3, T4>((ValueTask<T1>, ValueTask<T2>, ValueTask<T3>, ValueTask<T4>), bool)

TaskExtensions.WhenAll.cs

Configures how awaiting all the value tasks of the tuple resumes. The tasks are combined the same way as TaskExtensions.WhenAll, and the result is the tuple of their results.

public static ConfiguredValueTaskAwaitable<(T1, T2, T3, T4)> ConfigureAwait<T1, T2, T3, T4>(this (ValueTask<T1>, ValueTask<T2>, ValueTask<T3>, ValueTask<T4>) tasks, bool continueOnCapturedContext)
Type parameters
T1
T2
T3
T4
Parameters
tasks (ValueTask<T1>, ValueTask<T2>, ValueTask<T3>, ValueTask<T4>)
The value tasks to await. Each of them is consumed once.
continueOnCapturedContext bool
true to resume on the captured context; otherwise, false.
Returns

ConfiguredValueTaskAwaitable<(T1, T2, T3, T4)>

ConfigureAwait<T1, T2, T3, T4, T5>((Task<T1>, Task<T2>, Task<T3>, Task<T4>, Task<T5>), bool)

TaskExtensions.WhenAll.cs
public static TaskExtensions.TupleConfiguredTaskAwaitable<T1, T2, T3, T4, T5> ConfigureAwait<T1, T2, T3, T4, T5>(this (Task<T1>, Task<T2>, Task<T3>, Task<T4>, Task<T5>) tasks, bool continueOnCapturedContext)

No documentation is available.

ConfigureAwait<T1, T2, T3, T4, T5>((Task<T1>, Task<T2>, Task<T3>, Task<T4>, Task<T5>), ConfigureAwaitOptions)

TaskExtensions.WhenAll.cs
public static TaskExtensions.TupleConfiguredTaskAwaitable<T1, T2, T3, T4, T5> ConfigureAwait<T1, T2, T3, T4, T5>(this (Task<T1>, Task<T2>, Task<T3>, Task<T4>, Task<T5>) tasks, ConfigureAwaitOptions options)

No documentation is available.

ConfigureAwait<T1, T2, T3, T4, T5>((ValueTask<T1>, ValueTask<T2>, ValueTask<T3>, ValueTask<T4>, ValueTask<T5>), bool)

TaskExtensions.WhenAll.cs

Configures how awaiting all the value tasks of the tuple resumes. The tasks are combined the same way as TaskExtensions.WhenAll, and the result is the tuple of their results.

public static ConfiguredValueTaskAwaitable<(T1, T2, T3, T4, T5)> ConfigureAwait<T1, T2, T3, T4, T5>(this (ValueTask<T1>, ValueTask<T2>, ValueTask<T3>, ValueTask<T4>, ValueTask<T5>) tasks, bool continueOnCapturedContext)
Type parameters
T1
T2
T3
T4
T5
Parameters
tasks (ValueTask<T1>, ValueTask<T2>, ValueTask<T3>, ValueTask<T4>, ValueTask<T5>)
The value tasks to await. Each of them is consumed once.
continueOnCapturedContext bool
true to resume on the captured context; otherwise, false.
Returns

ConfiguredValueTaskAwaitable<(T1, T2, T3, T4, T5)>

ConfigureAwait<T1, T2, T3, T4, T5, T6>((Task<T1>, Task<T2>, Task<T3>, Task<T4>, Task<T5>, Task<T6>), bool)

TaskExtensions.WhenAll.cs
public static TaskExtensions.TupleConfiguredTaskAwaitable<T1, T2, T3, T4, T5, T6> ConfigureAwait<T1, T2, T3, T4, T5, T6>(this (Task<T1>, Task<T2>, Task<T3>, Task<T4>, Task<T5>, Task<T6>) tasks, bool continueOnCapturedContext)

No documentation is available.

ConfigureAwait<T1, T2, T3, T4, T5, T6>((Task<T1>, Task<T2>, Task<T3>, Task<T4>, Task<T5>, Task<T6>), ConfigureAwaitOptions)

TaskExtensions.WhenAll.cs
public static TaskExtensions.TupleConfiguredTaskAwaitable<T1, T2, T3, T4, T5, T6> ConfigureAwait<T1, T2, T3, T4, T5, T6>(this (Task<T1>, Task<T2>, Task<T3>, Task<T4>, Task<T5>, Task<T6>) tasks, ConfigureAwaitOptions options)

No documentation is available.

ConfigureAwait<T1, T2, T3, T4, T5, T6>((ValueTask<T1>, ValueTask<T2>, ValueTask<T3>, ValueTask<T4>, ValueTask<T5>, ValueTask<T6>), bool)

TaskExtensions.WhenAll.cs

Configures how awaiting all the value tasks of the tuple resumes. The tasks are combined the same way as TaskExtensions.WhenAll, and the result is the tuple of their results.

public static ConfiguredValueTaskAwaitable<(T1, T2, T3, T4, T5, T6)> ConfigureAwait<T1, T2, T3, T4, T5, T6>(this (ValueTask<T1>, ValueTask<T2>, ValueTask<T3>, ValueTask<T4>, ValueTask<T5>, ValueTask<T6>) tasks, bool continueOnCapturedContext)
Type parameters
T1
T2
T3
T4
T5
T6
Parameters
tasks (ValueTask<T1>, ValueTask<T2>, ValueTask<T3>, ValueTask<T4>, ValueTask<T5>, ValueTask<T6>)
The value tasks to await. Each of them is consumed once.
continueOnCapturedContext bool
true to resume on the captured context; otherwise, false.
Returns

ConfiguredValueTaskAwaitable<(T1, T2, T3, T4, T5, T6)>

ConfigureAwait<T1, T2, T3, T4, T5, T6, T7>((Task<T1>, Task<T2>, Task<T3>, Task<T4>, Task<T5>, Task<T6>, Task<T7>), bool)

TaskExtensions.WhenAll.cs
public static TaskExtensions.TupleConfiguredTaskAwaitable<T1, T2, T3, T4, T5, T6, T7> ConfigureAwait<T1, T2, T3, T4, T5, T6, T7>(this (Task<T1>, Task<T2>, Task<T3>, Task<T4>, Task<T5>, Task<T6>, Task<T7>) tasks, bool continueOnCapturedContext)

No documentation is available.

ConfigureAwait<T1, T2, T3, T4, T5, T6, T7>((Task<T1>, Task<T2>, Task<T3>, Task<T4>, Task<T5>, Task<T6>, Task<T7>), ConfigureAwaitOptions)

TaskExtensions.WhenAll.cs
public static TaskExtensions.TupleConfiguredTaskAwaitable<T1, T2, T3, T4, T5, T6, T7> ConfigureAwait<T1, T2, T3, T4, T5, T6, T7>(this (Task<T1>, Task<T2>, Task<T3>, Task<T4>, Task<T5>, Task<T6>, Task<T7>) tasks, ConfigureAwaitOptions options)

No documentation is available.

ConfigureAwait<T1, T2, T3, T4, T5, T6, T7>((ValueTask<T1>, ValueTask<T2>, ValueTask<T3>, ValueTask<T4>, ValueTask<T5>, ValueTask<T6>, ValueTask<T7>), bool)

TaskExtensions.WhenAll.cs

Configures how awaiting all the value tasks of the tuple resumes. The tasks are combined the same way as TaskExtensions.WhenAll, and the result is the tuple of their results.

public static ConfiguredValueTaskAwaitable<(T1, T2, T3, T4, T5, T6, T7)> ConfigureAwait<T1, T2, T3, T4, T5, T6, T7>(this (ValueTask<T1>, ValueTask<T2>, ValueTask<T3>, ValueTask<T4>, ValueTask<T5>, ValueTask<T6>, ValueTask<T7>) tasks, bool continueOnCapturedContext)
Type parameters
T1
T2
T3
T4
T5
T6
T7
Parameters
tasks (ValueTask<T1>, ValueTask<T2>, ValueTask<T3>, ValueTask<T4>, ValueTask<T5>, ValueTask<T6>, ValueTask<T7>)
The value tasks to await. Each of them is consumed once.
continueOnCapturedContext bool
true to resume on the captured context; otherwise, false.
Returns

ConfiguredValueTaskAwaitable<(T1, T2, T3, T4, T5, T6, T7)>

Forget(Task)

TaskExtensions.cs

Allows a task to continue executing without waiting for it to complete, while still observing any exceptions.

public static void Forget(this Task task)

Parameters

task Task
The task to forget.

Remarks

This method ensures that exceptions in the task are observed to prevent unobserved task exceptions. See https://www.meziantou.net/fire-and-forget-a-task-in-dotnet.htm for more information.

GetAwaiter overloads

GetAwaiter((Task, Task, Task, Task, Task, Task, Task))

TaskExtensions.WhenAll.cs
public static TaskAwaiter GetAwaiter(this (Task, Task, Task, Task, Task, Task, Task) tasks)

No documentation is available.

GetAwaiter((Task, Task, Task, Task, Task, Task))

TaskExtensions.WhenAll.cs
public static TaskAwaiter GetAwaiter(this (Task, Task, Task, Task, Task, Task) tasks)

No documentation is available.

GetAwaiter((Task, Task, Task, Task, Task))

TaskExtensions.WhenAll.cs
public static TaskAwaiter GetAwaiter(this (Task, Task, Task, Task, Task) tasks)

No documentation is available.

GetAwaiter((Task, Task, Task, Task))

TaskExtensions.WhenAll.cs
public static TaskAwaiter GetAwaiter(this (Task, Task, Task, Task) tasks)

No documentation is available.

GetAwaiter((Task, Task, Task))

TaskExtensions.WhenAll.cs
public static TaskAwaiter GetAwaiter(this (Task, Task, Task) tasks)
Parameters
tasks (Task, Task, Task)
Returns

TaskAwaiter

No documentation is available.

GetAwaiter((Task, Task))

TaskExtensions.WhenAll.cs
public static TaskAwaiter GetAwaiter(this (Task, Task) tasks)
Parameters
tasks (Task, Task)
Returns

TaskAwaiter

No documentation is available.

GetAwaiter(ValueTuple<Task>)

TaskExtensions.WhenAll.cs
public static TaskAwaiter GetAwaiter(this ValueTuple<Task> tasks)
Parameters
tasks ValueTuple<Task>
Returns

TaskAwaiter

No documentation is available.

GetAwaiter((ValueTask, ValueTask, ValueTask, ValueTask, ValueTask, ValueTask, ValueTask))

TaskExtensions.WhenAll.cs

GetAwaiter((ValueTask, ValueTask, ValueTask, ValueTask, ValueTask, ValueTask))

TaskExtensions.WhenAll.cs
public static ValueTaskAwaiter GetAwaiter(this (ValueTask, ValueTask, ValueTask, ValueTask, ValueTask, ValueTask) tasks)

No documentation is available.

GetAwaiter((ValueTask, ValueTask, ValueTask, ValueTask, ValueTask))

TaskExtensions.WhenAll.cs
public static ValueTaskAwaiter GetAwaiter(this (ValueTask, ValueTask, ValueTask, ValueTask, ValueTask) tasks)

No documentation is available.

GetAwaiter((ValueTask, ValueTask, ValueTask, ValueTask))

TaskExtensions.WhenAll.cs
public static ValueTaskAwaiter GetAwaiter(this (ValueTask, ValueTask, ValueTask, ValueTask) tasks)

No documentation is available.

GetAwaiter((ValueTask, ValueTask, ValueTask))

TaskExtensions.WhenAll.cs
public static ValueTaskAwaiter GetAwaiter(this (ValueTask, ValueTask, ValueTask) tasks)

No documentation is available.

GetAwaiter((ValueTask, ValueTask))

TaskExtensions.WhenAll.cs
public static ValueTaskAwaiter GetAwaiter(this (ValueTask, ValueTask) tasks)

No documentation is available.

GetAwaiter<T1>(ValueTuple<Task<T1>>)

TaskExtensions.WhenAll.cs
public static TaskAwaiter<T1> GetAwaiter<T1>(this ValueTuple<Task<T1>> tasks)
Type parameters
T1
Parameters
tasks ValueTuple<Task<T1>>
Returns

TaskAwaiter<T1>

No documentation is available.

GetAwaiter<T1>(ValueTuple<ValueTask<T1>>)

TaskExtensions.WhenAll.cs
public static ValueTaskAwaiter<ValueTuple<T1>> GetAwaiter<T1>(this ValueTuple<ValueTask<T1>> tasks)
Type parameters
T1
Parameters
tasks ValueTuple<ValueTask<T1>>
Returns

ValueTaskAwaiter<ValueTuple<T1>>

No documentation is available.

GetAwaiter<T1, T2>((Task<T1>, Task<T2>))

TaskExtensions.WhenAll.cs
public static TaskExtensions.TupleTaskAwaiter<T1, T2> GetAwaiter<T1, T2>(this (Task<T1>, Task<T2>) tasks)
Type parameters
T1
T2
Parameters
tasks (Task<T1>, Task<T2>)
Returns

TaskExtensions.TupleTaskAwaiter<T1, T2>

No documentation is available.

GetAwaiter<T1, T2>((ValueTask<T1>, ValueTask<T2>))

TaskExtensions.WhenAll.cs
public static ValueTaskAwaiter<(T1, T2)> GetAwaiter<T1, T2>(this (ValueTask<T1>, ValueTask<T2>) tasks)
Type parameters
T1
T2
Parameters
tasks (ValueTask<T1>, ValueTask<T2>)
Returns

ValueTaskAwaiter<(T1, T2)>

No documentation is available.

GetAwaiter<T1, T2, T3>((Task<T1>, Task<T2>, Task<T3>))

TaskExtensions.WhenAll.cs
public static TaskExtensions.TupleTaskAwaiter<T1, T2, T3> GetAwaiter<T1, T2, T3>(this (Task<T1>, Task<T2>, Task<T3>) tasks)

No documentation is available.

GetAwaiter<T1, T2, T3>((ValueTask<T1>, ValueTask<T2>, ValueTask<T3>))

TaskExtensions.WhenAll.cs
public static ValueTaskAwaiter<(T1, T2, T3)> GetAwaiter<T1, T2, T3>(this (ValueTask<T1>, ValueTask<T2>, ValueTask<T3>) tasks)

No documentation is available.

GetAwaiter<T1, T2, T3, T4>((Task<T1>, Task<T2>, Task<T3>, Task<T4>))

TaskExtensions.WhenAll.cs
public static TaskExtensions.TupleTaskAwaiter<T1, T2, T3, T4> GetAwaiter<T1, T2, T3, T4>(this (Task<T1>, Task<T2>, Task<T3>, Task<T4>) tasks)

No documentation is available.

GetAwaiter<T1, T2, T3, T4>((ValueTask<T1>, ValueTask<T2>, ValueTask<T3>, ValueTask<T4>))

TaskExtensions.WhenAll.cs
public static ValueTaskAwaiter<(T1, T2, T3, T4)> GetAwaiter<T1, T2, T3, T4>(this (ValueTask<T1>, ValueTask<T2>, ValueTask<T3>, ValueTask<T4>) tasks)

No documentation is available.

GetAwaiter<T1, T2, T3, T4, T5>((Task<T1>, Task<T2>, Task<T3>, Task<T4>, Task<T5>))

TaskExtensions.WhenAll.cs
public static TaskExtensions.TupleTaskAwaiter<T1, T2, T3, T4, T5> GetAwaiter<T1, T2, T3, T4, T5>(this (Task<T1>, Task<T2>, Task<T3>, Task<T4>, Task<T5>) tasks)

No documentation is available.

GetAwaiter<T1, T2, T3, T4, T5>((ValueTask<T1>, ValueTask<T2>, ValueTask<T3>, ValueTask<T4>, ValueTask<T5>))

TaskExtensions.WhenAll.cs
public static ValueTaskAwaiter<(T1, T2, T3, T4, T5)> GetAwaiter<T1, T2, T3, T4, T5>(this (ValueTask<T1>, ValueTask<T2>, ValueTask<T3>, ValueTask<T4>, ValueTask<T5>) tasks)

No documentation is available.

GetAwaiter<T1, T2, T3, T4, T5, T6>((Task<T1>, Task<T2>, Task<T3>, Task<T4>, Task<T5>, Task<T6>))

TaskExtensions.WhenAll.cs
public static TaskExtensions.TupleTaskAwaiter<T1, T2, T3, T4, T5, T6> GetAwaiter<T1, T2, T3, T4, T5, T6>(this (Task<T1>, Task<T2>, Task<T3>, Task<T4>, Task<T5>, Task<T6>) tasks)

No documentation is available.

GetAwaiter<T1, T2, T3, T4, T5, T6>((ValueTask<T1>, ValueTask<T2>, ValueTask<T3>, ValueTask<T4>, ValueTask<T5>, ValueTask<T6>))

TaskExtensions.WhenAll.cs
public static ValueTaskAwaiter<(T1, T2, T3, T4, T5, T6)> GetAwaiter<T1, T2, T3, T4, T5, T6>(this (ValueTask<T1>, ValueTask<T2>, ValueTask<T3>, ValueTask<T4>, ValueTask<T5>, ValueTask<T6>) tasks)

No documentation is available.

GetAwaiter<T1, T2, T3, T4, T5, T6, T7>((Task<T1>, Task<T2>, Task<T3>, Task<T4>, Task<T5>, Task<T6>, Task<T7>))

TaskExtensions.WhenAll.cs
public static TaskExtensions.TupleTaskAwaiter<T1, T2, T3, T4, T5, T6, T7> GetAwaiter<T1, T2, T3, T4, T5, T6, T7>(this (Task<T1>, Task<T2>, Task<T3>, Task<T4>, Task<T5>, Task<T6>, Task<T7>) tasks)

No documentation is available.

GetAwaiter<T1, T2, T3, T4, T5, T6, T7>((ValueTask<T1>, ValueTask<T2>, ValueTask<T3>, ValueTask<T4>, ValueTask<T5>, ValueTask<T6>, ValueTask<T7>))

TaskExtensions.WhenAll.cs
public static ValueTaskAwaiter<(T1, T2, T3, T4, T5, T6, T7)> GetAwaiter<T1, T2, T3, T4, T5, T6, T7>(this (ValueTask<T1>, ValueTask<T2>, ValueTask<T3>, ValueTask<T4>, ValueTask<T5>, ValueTask<T6>, ValueTask<T7>) tasks)

No documentation is available.

WhenAll overloads

WhenAll<T1>(ValueTask<T1>)

TaskExtensions.WhenAll.cs

Awaits all the specified tasks and returns their results in a tuple.

public static ValueTask<ValueTuple<T1>> WhenAll<T1>(ValueTask<T1> task1)
Type parameters
T1
Parameters
task1 ValueTask<T1>
Returns

ValueTask<ValueTuple<T1>>

Remarks

All the tasks are awaited, even when one of them does not complete successfully, and the outcome follows the same rules as Task.WhenAll. If at least one task fails, the returned task fails with all the observed failures and awaiting it throws the first one. Otherwise, if at least one task is canceled, the returned task is canceled with the CancellationToken of the first canceled task.

WhenAll<T1, T2>(ValueTask<T1>, ValueTask<T2>)

TaskExtensions.WhenAll.cs

Awaits all the specified tasks and returns their results in a tuple.

public static ValueTask<(T1, T2)> WhenAll<T1, T2>(ValueTask<T1> task1, ValueTask<T2> task2)
Type parameters
T1
T2
Parameters
task1 ValueTask<T1>
task2 ValueTask<T2>
Returns

ValueTask<(T1, T2)>

Remarks

All the tasks are awaited, even when one of them does not complete successfully, and the outcome follows the same rules as Task.WhenAll. If at least one task fails, the returned task fails with all the observed failures and awaiting it throws the first one. Otherwise, if at least one task is canceled, the returned task is canceled with the CancellationToken of the first canceled task.

WhenAll<T1, T2, T3>(ValueTask<T1>, ValueTask<T2>, ValueTask<T3>)

TaskExtensions.WhenAll.cs

Awaits all the specified tasks and returns their results in a tuple.

public static ValueTask<(T1, T2, T3)> WhenAll<T1, T2, T3>(ValueTask<T1> task1, ValueTask<T2> task2, ValueTask<T3> task3)
Type parameters
T1
T2
T3
Parameters
task1 ValueTask<T1>
task2 ValueTask<T2>
task3 ValueTask<T3>
Returns

ValueTask<(T1, T2, T3)>

Remarks

All the tasks are awaited, even when one of them does not complete successfully, and the outcome follows the same rules as Task.WhenAll. If at least one task fails, the returned task fails with all the observed failures and awaiting it throws the first one. Otherwise, if at least one task is canceled, the returned task is canceled with the CancellationToken of the first canceled task.

WhenAll<T1, T2, T3, T4>(ValueTask<T1>, ValueTask<T2>, ValueTask<T3>, ValueTask<T4>)

TaskExtensions.WhenAll.cs

Awaits all the specified tasks and returns their results in a tuple.

public static ValueTask<(T1, T2, T3, T4)> WhenAll<T1, T2, T3, T4>(ValueTask<T1> task1, ValueTask<T2> task2, ValueTask<T3> task3, ValueTask<T4> task4)
Type parameters
T1
T2
T3
T4
Parameters
task1 ValueTask<T1>
task2 ValueTask<T2>
task3 ValueTask<T3>
task4 ValueTask<T4>
Returns

ValueTask<(T1, T2, T3, T4)>

Remarks

All the tasks are awaited, even when one of them does not complete successfully, and the outcome follows the same rules as Task.WhenAll. If at least one task fails, the returned task fails with all the observed failures and awaiting it throws the first one. Otherwise, if at least one task is canceled, the returned task is canceled with the CancellationToken of the first canceled task.

WhenAll<T1, T2, T3, T4, T5>(ValueTask<T1>, ValueTask<T2>, ValueTask<T3>, ValueTask<T4>, ValueTask<T5>)

TaskExtensions.WhenAll.cs

Awaits all the specified tasks and returns their results in a tuple.

public static ValueTask<(T1, T2, T3, T4, T5)> WhenAll<T1, T2, T3, T4, T5>(ValueTask<T1> task1, ValueTask<T2> task2, ValueTask<T3> task3, ValueTask<T4> task4, ValueTask<T5> task5)
Type parameters
T1
T2
T3
T4
T5
Parameters
task1 ValueTask<T1>
task2 ValueTask<T2>
task3 ValueTask<T3>
task4 ValueTask<T4>
task5 ValueTask<T5>
Returns

ValueTask<(T1, T2, T3, T4, T5)>

Remarks

All the tasks are awaited, even when one of them does not complete successfully, and the outcome follows the same rules as Task.WhenAll. If at least one task fails, the returned task fails with all the observed failures and awaiting it throws the first one. Otherwise, if at least one task is canceled, the returned task is canceled with the CancellationToken of the first canceled task.

WhenAll<T1, T2, T3, T4, T5, T6>(ValueTask<T1>, ValueTask<T2>, ValueTask<T3>, ValueTask<T4>, ValueTask<T5>, ValueTask<T6>)

TaskExtensions.WhenAll.cs

Awaits all the specified tasks and returns their results in a tuple.

public static ValueTask<(T1, T2, T3, T4, T5, T6)> WhenAll<T1, T2, T3, T4, T5, T6>(ValueTask<T1> task1, ValueTask<T2> task2, ValueTask<T3> task3, ValueTask<T4> task4, ValueTask<T5> task5, ValueTask<T6> task6)
Type parameters
T1
T2
T3
T4
T5
T6
Parameters
task1 ValueTask<T1>
task2 ValueTask<T2>
task3 ValueTask<T3>
task4 ValueTask<T4>
task5 ValueTask<T5>
task6 ValueTask<T6>
Returns

ValueTask<(T1, T2, T3, T4, T5, T6)>

Remarks

All the tasks are awaited, even when one of them does not complete successfully, and the outcome follows the same rules as Task.WhenAll. If at least one task fails, the returned task fails with all the observed failures and awaiting it throws the first one. Otherwise, if at least one task is canceled, the returned task is canceled with the CancellationToken of the first canceled task.

WhenAll<T1, T2, T3, T4, T5, T6, T7>(ValueTask<T1>, ValueTask<T2>, ValueTask<T3>, ValueTask<T4>, ValueTask<T5>, ValueTask<T6>, ValueTask<T7>)

TaskExtensions.WhenAll.cs

Awaits all the specified tasks and returns their results in a tuple.

public static ValueTask<(T1, T2, T3, T4, T5, T6, T7)> WhenAll<T1, T2, T3, T4, T5, T6, T7>(ValueTask<T1> task1, ValueTask<T2> task2, ValueTask<T3> task3, ValueTask<T4> task4, ValueTask<T5> task5, ValueTask<T6> task6, ValueTask<T7> task7)
Type parameters
T1
T2
T3
T4
T5
T6
T7
Parameters
task1 ValueTask<T1>
task2 ValueTask<T2>
task3 ValueTask<T3>
task4 ValueTask<T4>
task5 ValueTask<T5>
task6 ValueTask<T6>
task7 ValueTask<T7>
Returns

ValueTask<(T1, T2, T3, T4, T5, T6, T7)>

Remarks

All the tasks are awaited, even when one of them does not complete successfully, and the outcome follows the same rules as Task.WhenAll. If at least one task fails, the returned task fails with all the observed failures and awaiting it throws the first one. Otherwise, if at least one task is canceled, the returned task is canceled with the CancellationToken of the first canceled task.