/// <summary> /// Executes an async Task method which has a void return value synchronously /// </summary> /// <param name="func">Task method to execute</param> public static void RunSync(Func <Task> func, Action <Task> continuation = null) { using (var runner = new SyncRunnerScope()) { runner.RunSync(func(), continuation); } }
/// <summary> /// Executes an async Task method which has a TResult return type synchronously /// </summary> /// <typeparam name="TResult">Return Type</typeparam> /// <param name="func">Task method to execute</param> /// <returns></returns> public static TResult RunSync <TResult>(Func <Task <TResult> > func, Action <Task <TResult> > continuation = null) { var result = default(TResult); using (var runner = new SyncRunnerScope()) { result = runner.RunSync(func(), continuation); } return(result); }