Пример #1
0
 /// <summary>
 /// Run a synchronous function on a STA background thread.
 /// </summary>
 /// <typeparam name="T">Type of the return value</typeparam>
 /// <param name="action">Function to run</param>
 /// <returns>The return value of the underlying method.</returns>
 public static Task Run <T>(this IStaWorker worker, Func <T> action) =>
 worker.Run(() => Task.FromResult(action()));
Пример #2
0
 /// <summary>
 /// Run a synchronous action on a STA background thread.
 /// </summary>
 /// <param name="action">Synchronous action to run</param>
 /// <returns>A task representing completion of the synchronous action on the other thread.</returns>
 public static Task Run(this IStaWorker worker, Action action) =>
 worker.Run(() => {
     action();
     return(Task.FromResult(1));
 });
Пример #3
0
 /// <summary>
 /// Run an async action on a STA background thread.
 /// </summary>
 /// <param name="action">async action to run</param>
 /// <returns>A task representing the underlying method</returns>
 public static Task Run(this IStaWorker worker, Func <Task> action) =>
 worker.Run(async() =>
 {
     await action();
     return(1);
 });