TplExtensions.NoThrowAwaitable Yöntem
Tanım
Önemli
Bazı bilgiler ürünün ön sürümüyle ilgilidir ve sürüm öncesinde önemli değişiklikler yapılmış olabilir. Burada verilen bilgilerle ilgili olarak Microsoft açık veya zımni hiçbir garanti vermez.
Aşırı Yüklemeler
| NoThrowAwaitable(Task, Boolean) |
Kaynak görev hata verse veya iptal edilse bile, belirtilen görev için hiçbir zaman atılamayacak bir beklenebilir döndürür. |
| NoThrowAwaitable(ValueTask, Boolean) |
Kaynak görev hata verse veya iptal edilse bile, belirtilen görev için hiçbir zaman atılamayacak bir beklenebilir döndürür. |
| NoThrowAwaitable<TResult>(ValueTask<TResult>, Boolean) |
Kaynak görev hata verse veya iptal edilse bile, belirtilen görev için hiçbir zaman atılamayacak bir beklenebilir döndürür. |
NoThrowAwaitable(Task, Boolean)
Kaynak görev hata verse veya iptal edilse bile, belirtilen görev için hiçbir zaman atılamayacak bir beklenebilir döndürür.
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
Parametreler
- task
- Task
Tamamlanması beklenen döndürülebilir değerinin tamamlanmasının sinyalini vermesi gereken görev.
- captureContext
- Boolean
devamlılık true olarak ayarlanırsa çağıranın bağlamında zamanlanır; false sürekliliği her zaman iş parçacığı havuzu üzerinde yürütmek için.
Döndürülenler
Beklenilebilir bir şey.
Şunlara uygulanır
NoThrowAwaitable(ValueTask, Boolean)
Kaynak görev hata verse veya iptal edilse bile, belirtilen görev için hiçbir zaman atılamayacak bir beklenebilir döndürür.
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
Parametreler
- task
- ValueTask
Tamamlanması beklenen döndürülebilir değerinin tamamlanmasının sinyalini vermesi gereken görev.
- captureContext
- Boolean
devamlılık true olarak ayarlanırsa çağıranın bağlamında zamanlanır; false sürekliliği her zaman iş parçacığı havuzu üzerinde yürütmek için.
Döndürülenler
Beklenilebilir bir şey.
Şunlara uygulanır
NoThrowAwaitable<TResult>(ValueTask<TResult>, Boolean)
Kaynak görev hata verse veya iptal edilse bile, belirtilen görev için hiçbir zaman atılamayacak bir beklenebilir döndürür.
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)
Tür Parametreleri
- TResult
Sonuç türü.
Parametreler
- task
- ValueTask<TResult>
Tamamlanması beklenen döndürülebilir değerinin tamamlanmasının sinyalini vermesi gereken görev.
- captureContext
- Boolean
devamlılık true olarak ayarlanırsa çağıranın bağlamında zamanlanır; false sürekliliği her zaman iş parçacığı havuzu üzerinde yürütmek için.
Döndürülenler
Beklenilebilir bir şey.
Açıklamalar
Bu yöntem tarafından döndürülen awaitable, başarıyla tamamlanan ValueTask<TResult>bir sonucunun sonucuna erişim sağlamaz. Oluşturmadan beklemek ve sonuçta elde edilen değeri kullanmak için aşağıdaki desen kullanılabilir:
var methodValueTask = MethodAsync().Preserve();
await methodValueTask.NoThrowAwaitable(true);
if (methodValueTask.IsCompletedSuccessfully)
{
var result = methodValueTask.Result;
}
else
{
var exception = methodValueTask.AsTask().Exception.InnerException;
}