VsTaskLibraryHelper.RunAsync Метод

Определение

Перегрузки

RunAsync(JoinableTaskFactory, VsTaskRunContext, Func<Task>)

Создает оболочку вызова асинхронного метода таким образом, что он может выполняться асинхронно, но может быть синхронно завершен (ожидание) в будущем.

RunAsync<T>(JoinableTaskFactory, VsTaskRunContext, Func<Task<T>>)

Создает оболочку вызова асинхронного метода таким образом, что он может выполняться асинхронно, но может быть синхронно завершен (ожидание) в будущем.

RunAsync(JoinableTaskFactory, VsTaskRunContext, Func<Task>)

Создает оболочку вызова асинхронного метода таким образом, что он может выполняться асинхронно, но может быть синхронно завершен (ожидание) в будущем.

public:
[System::Runtime::CompilerServices::Extension]
 static Microsoft::VisualStudio::Threading::JoinableTask ^ RunAsync(Microsoft::VisualStudio::Threading::JoinableTaskFactory ^ joinableTaskFactory, Microsoft::VisualStudio::Shell::VsTaskRunContext priority, Func<System::Threading::Tasks::Task ^> ^ asyncMethod);
public static Microsoft.VisualStudio.Threading.JoinableTask RunAsync (this Microsoft.VisualStudio.Threading.JoinableTaskFactory joinableTaskFactory, Microsoft.VisualStudio.Shell.VsTaskRunContext priority, Func<System.Threading.Tasks.Task> asyncMethod);
static member RunAsync : Microsoft.VisualStudio.Threading.JoinableTaskFactory * Microsoft.VisualStudio.Shell.VsTaskRunContext * Func<System.Threading.Tasks.Task> -> Microsoft.VisualStudio.Threading.JoinableTask
<Extension()>
Public Function RunAsync (joinableTaskFactory As JoinableTaskFactory, priority As VsTaskRunContext, asyncMethod As Func(Of Task)) As JoinableTask

Параметры

joinableTaskFactory
JoinableTaskFactory

Фабрика, используемая для создания задачи.

priority
VsTaskRunContext

Приоритет, с помощью которого можно запланировать какую-либо работу в потоке пользовательского интерфейса, когда SwitchToMainThreadAsync(CancellationToken) вызывается и при вызове.

asyncMethod
Func<Task>

Метод, который при выполнении начнет асинхронную операцию.

Возвращаемое значение

JoinableTask

Объект, отслеживающий завершение асинхронной операции и допускающий позднее синхронную блокировку основного потока для завершения при необходимости.

Комментарии

Исключения, создаваемые делегатом, фиксируются в возвращенном JoinableTask . Обратите внимание, что asyncMethod делегат начинает свое выполнение в потоке вызывающего объекта и должен явно вызывать, SwitchToMainThreadAsync(CancellationToken) Если нужен основной поток.

Применяется к

RunAsync<T>(JoinableTaskFactory, VsTaskRunContext, Func<Task<T>>)

Создает оболочку вызова асинхронного метода таким образом, что он может выполняться асинхронно, но может быть синхронно завершен (ожидание) в будущем.

public:
generic <typename T>
[System::Runtime::CompilerServices::Extension]
 static Microsoft::VisualStudio::Threading::JoinableTask<T> ^ RunAsync(Microsoft::VisualStudio::Threading::JoinableTaskFactory ^ joinableTaskFactory, Microsoft::VisualStudio::Shell::VsTaskRunContext priority, Func<System::Threading::Tasks::Task<T> ^> ^ asyncMethod);
public static Microsoft.VisualStudio.Threading.JoinableTask<T> RunAsync<T> (this Microsoft.VisualStudio.Threading.JoinableTaskFactory joinableTaskFactory, Microsoft.VisualStudio.Shell.VsTaskRunContext priority, Func<System.Threading.Tasks.Task<T>> asyncMethod);
static member RunAsync : Microsoft.VisualStudio.Threading.JoinableTaskFactory * Microsoft.VisualStudio.Shell.VsTaskRunContext * Func<System.Threading.Tasks.Task<'T>> -> Microsoft.VisualStudio.Threading.JoinableTask<'T>
<Extension()>
Public Function RunAsync(Of T) (joinableTaskFactory As JoinableTaskFactory, priority As VsTaskRunContext, asyncMethod As Func(Of Task(Of T))) As JoinableTask(Of T)

Параметры типа

T

Тип значения, возвращаемого асинхронной операцией.

Параметры

joinableTaskFactory
JoinableTaskFactory

Фабрика, используемая для создания задачи.

priority
VsTaskRunContext

Приоритет, с помощью которого можно запланировать какую-либо работу в потоке пользовательского интерфейса, когда SwitchToMainThreadAsync(CancellationToken) вызывается и при вызове.

asyncMethod
Func<Task<T>>

Метод, который при выполнении начнет асинхронную операцию.

Возвращаемое значение

JoinableTask<T>

Объект, отслеживающий завершение асинхронной операции и допускающий позднее синхронную блокировку основного потока для завершения при необходимости.

Комментарии

Исключения, создаваемые делегатом, фиксируются в возвращенном JoinableTask . Обратите внимание, что asyncMethod делегат начинает свое выполнение в потоке вызывающего объекта и должен явно вызывать, SwitchToMainThreadAsync(CancellationToken) Если нужен основной поток.

Применяется к