言語

TplExtensions.NoThrowAwaitable メソッド

定義

オーバーロード

名前 説明
NoThrowAwaitable(Task, Boolean)

ソース タスクがエラーになったり取り消されたりした場合でも、スローされない指定したタスクの待機可能な値を返します。

NoThrowAwaitable(ValueTask, Boolean)

ソース タスクがエラーになったり取り消されたりした場合でも、スローされない指定したタスクの待機可能な値を返します。

NoThrowAwaitable<TResult>(ValueTask<TResult>, Boolean)

ソース タスクがエラーになったり取り消されたりした場合でも、スローされない指定したタスクの待機可能な値を返します。

NoThrowAwaitable(Task, Boolean)

ソース タスクがエラーになったり取り消されたりした場合でも、スローされない指定したタスクの待機可能な値を返します。

public static Microsoft.VisualStudio.Threading.TplExtensions.NoThrowTaskAwaitable NoThrowAwaitable(this System.Threading.Tasks.Task task, bool captureContext = true);
static member NoThrowAwaitable : System.Threading.Tasks.Task * bool -> Microsoft.VisualStudio.Threading.TplExtensions.NoThrowTaskAwaitable
<Extension()>
Public Function NoThrowAwaitable (task As Task, Optional captureContext As Boolean = true) As TplExtensions.NoThrowTaskAwaitable

パラメーター

task
Task

完了が返された待機可能の完了を通知する必要があるタスク。

captureContext
Boolean

trueに設定されている場合、継続は呼び出し元のコンテキストでスケジュールされます。スレッド プールで常に継続を実行するfalse

返品

待機可能。

適用対象

NoThrowAwaitable(ValueTask, Boolean)

ソース タスクがエラーになったり取り消されたりした場合でも、スローされない指定したタスクの待機可能な値を返します。

public static Microsoft.VisualStudio.Threading.TplExtensions.NoThrowValueTaskAwaitable NoThrowAwaitable(this System.Threading.Tasks.ValueTask task, bool captureContext = true);
static member NoThrowAwaitable : System.Threading.Tasks.ValueTask * bool -> Microsoft.VisualStudio.Threading.TplExtensions.NoThrowValueTaskAwaitable
<Extension()>
Public Function NoThrowAwaitable (task As ValueTask, Optional captureContext As Boolean = true) As TplExtensions.NoThrowValueTaskAwaitable

パラメーター

task
ValueTask

完了が返された待機可能の完了を通知する必要があるタスク。

captureContext
Boolean

trueに設定されている場合、継続は呼び出し元のコンテキストでスケジュールされます。スレッド プールで常に継続を実行するfalse

返品

待機可能。

適用対象

NoThrowAwaitable<TResult>(ValueTask<TResult>, Boolean)

ソース タスクがエラーになったり取り消されたりした場合でも、スローされない指定したタスクの待機可能な値を返します。

public static Microsoft.VisualStudio.Threading.TplExtensions.NoThrowValueTaskAwaitable<TResult> NoThrowAwaitable<TResult>(this System.Threading.Tasks.ValueTask<TResult> task, bool captureContext = true);
static member NoThrowAwaitable : System.Threading.Tasks.ValueTask<'Result> * bool -> Microsoft.VisualStudio.Threading.TplExtensions.NoThrowValueTaskAwaitable<'Result>
<Extension()>
Public Function NoThrowAwaitable(Of TResult) (task As ValueTask(Of TResult), Optional captureContext As Boolean = true) As TplExtensions.NoThrowValueTaskAwaitable(Of TResult)

型パラメーター

TResult

結果の種類。

パラメーター

task
ValueTask<TResult>

完了が返された待機可能の完了を通知する必要があるタスク。

captureContext
Boolean

trueに設定されている場合、継続は呼び出し元のコンテキストでスケジュールされます。スレッド プールで常に継続を実行するfalse

返品

待機可能。

注釈

このメソッドによって返される待機可能なメソッドは、正常に完了した ValueTask<TResult>の結果へのアクセスを提供しません。 スローせずに待機し、結果の値を使用するには、次のパターンを使用できます。

var methodValueTask = MethodAsync().Preserve();
await methodValueTask.NoThrowAwaitable(true);
if (methodValueTask.IsCompletedSuccessfully)
{
  var result = methodValueTask.Result;
}
else
{
  var exception = methodValueTask.AsTask().Exception.InnerException;
}

適用対象