TplExtensions.NoThrowAwaitable Methode
Definition
Wichtig
Einige Informationen beziehen sich auf Vorabversionen, die vor dem Release ggf. grundlegend überarbeitet werden. Microsoft übernimmt hinsichtlich der hier bereitgestellten Informationen keine Gewährleistungen, seien sie ausdrücklich oder konkludent.
Überlädt
| Name | Beschreibung |
|---|---|
| NoThrowAwaitable(Task, Boolean) |
Gibt einen awaitable für den angegebenen Vorgang zurück, der nie ausgelöst wird, auch wenn die Quellaufgabe fehlerhaft ist oder abgebrochen wird. |
| NoThrowAwaitable(ValueTask, Boolean) |
Gibt einen awaitable für den angegebenen Vorgang zurück, der nie ausgelöst wird, auch wenn die Quellaufgabe fehlerhaft ist oder abgebrochen wird. |
| NoThrowAwaitable<TResult>(ValueTask<TResult>, Boolean) |
Gibt einen awaitable für den angegebenen Vorgang zurück, der nie ausgelöst wird, auch wenn die Quellaufgabe fehlerhaft ist oder abgebrochen wird. |
NoThrowAwaitable(Task, Boolean)
Gibt einen awaitable für den angegebenen Vorgang zurück, der nie ausgelöst wird, auch wenn die Quellaufgabe fehlerhaft ist oder abgebrochen wird.
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
Parameter
- task
- Task
Der Vorgang, dessen Abschluss den Abschluss des zurückgegebenen wartenden Vorgangs signalisieren soll.
- captureContext
- Boolean
wenn diese auf true die Fortsetzung festgelegt ist, wird im Kontext des Aufrufers geplant; false um die Fortsetzung immer im Threadpool auszuführen.
Gibt zurück
Eine wartebar.
Gilt für:
NoThrowAwaitable(ValueTask, Boolean)
Gibt einen awaitable für den angegebenen Vorgang zurück, der nie ausgelöst wird, auch wenn die Quellaufgabe fehlerhaft ist oder abgebrochen wird.
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
Parameter
- task
- ValueTask
Der Vorgang, dessen Abschluss den Abschluss des zurückgegebenen wartenden Vorgangs signalisieren soll.
- captureContext
- Boolean
wenn diese auf true die Fortsetzung festgelegt ist, wird im Kontext des Aufrufers geplant; false um die Fortsetzung immer im Threadpool auszuführen.
Gibt zurück
Eine wartebar.
Gilt für:
NoThrowAwaitable<TResult>(ValueTask<TResult>, Boolean)
Gibt einen awaitable für den angegebenen Vorgang zurück, der nie ausgelöst wird, auch wenn die Quellaufgabe fehlerhaft ist oder abgebrochen wird.
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)
Typparameter
- TResult
Der Typ des Ergebnisses.
Parameter
- task
- ValueTask<TResult>
Der Vorgang, dessen Abschluss den Abschluss des zurückgegebenen wartenden Vorgangs signalisieren soll.
- captureContext
- Boolean
wenn diese auf true die Fortsetzung festgelegt ist, wird im Kontext des Aufrufers geplant; false um die Fortsetzung immer im Threadpool auszuführen.
Gibt zurück
Eine wartebar.
Hinweise
Die von dieser Methode zurückgegebene awaitable bietet keinen Zugriff auf das Ergebnis eines erfolgreich abgeschlossenen ValueTask<TResult>Vorgangs. Zum Warten ohne Auslösen und Verwenden des resultierenden Werts kann das folgende Muster verwendet werden:
var methodValueTask = MethodAsync().Preserve();
await methodValueTask.NoThrowAwaitable(true);
if (methodValueTask.IsCompletedSuccessfully)
{
var result = methodValueTask.Result;
}
else
{
var exception = methodValueTask.AsTask().Exception.InnerException;
}