(精华)2020年6月26日 C#类库 异步执行帮助类

using System;
using System.Threading.Tasks;

namespace Core.Util
{
    /// 
    /// 异步执行帮助类
    /// 
    public class DelegateHelper
    {
        /// 
        /// 异步执行方法
        /// 
        /// 首先执行的方法
        /// 接下来执行的方法
        public static void RunAsync(Action firstFunc, Action next)
        {
            Task firstTask = new Task(() =>
            {
                firstFunc();
            });

            firstTask.Start();
            firstTask.ContinueWith(x => next());
        }

        /// 
        /// 异步执行方法
        /// 
        /// 首先执行的方法
        /// 接下来执行的方法
        public static void RunAsync(Func<object> firstFunc, Action<object> next)
        {
            Task<object> firstTask = new Task<object>(() =>
            {
                return firstFunc();
            });

            firstTask.Start();
            firstTask.ContinueWith(x => next(x.Result));
        }

    }
}

你可能感兴趣的:(#,C#类库/扩展方法)