This documentation is archived and is not being maintained.

JoinableTaskFactory.Run Method (Func(Of Task))

Runs the specified asynchronous method.

Namespace:  Microsoft.VisualStudio.Threading
Assembly:  Microsoft.VisualStudio.Threading (in Microsoft.VisualStudio.Threading.dll)

'Declaration
Public Sub Run ( _
	asyncMethod As Func(Of Task) _
)

Parameters

asyncMethod
Type: System.Func(Of Task)

The asynchronous method to execute.

On the threadpool or Main thread, this method blocks the calling thread until all async operations in the delegate complete.

ThreadHelper.JoinableTaskFactory.Run(async delegate {
    // still on the threadpool or Main thread as before.
    await OperationAsync();
    // still on the threadpool or Main thread as before.
    await Task.Run(async delegate {
        // Now we're on a threadpool thread.
        await Task.Yield();
        // still on a threadpool thread.
    });
    // Now back on the Main thread (or threadpool thread if that's where we started).
});

Show: