Пример #1
0
 /// <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);
     }
 }
Пример #2
0
        /// <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);
        }