예제 #1
0
        public static Task <T> ExecuteAsyncMethod <T>(this IMethodExecutable executable)
        {
            var task = (Task)executable.ExecuteMethod();
            var tcs  = new TaskCompletionSource <T>();

            task.ContinueWith(t =>
            {
                var res = task.GetPropertyValue(nameof(Task <T> .Result));
                tcs.SetResult((T)res);
            });
            return(tcs.Task);
        }
예제 #2
0
 public static Task ExecuteAsyncMethod(this IMethodExecutable executable)
 => (Task)executable.ExecuteMethod();