C#异步执行操作Helper
2017-01-05 15:27
295 查看
public class Helper { public static async void RunAsync(Action function, Action callback) { Func<Task> taskFunc = () => { return Task.Run(function); }; await taskFunc(); callback?.Invoke(); } /// <summary> /// 将一个方法function异步运行,在执行完毕时执行回调callback /// </summary> /// <typeparam name="TResult">异步方法的返回类型</typeparam> /// <param name="function">异步方法,该方法没有参数,返回类型必须是TResult</param> /// <param name="callback">异步方法执行完毕时执行的回调方法,该方法参数为TResult,返回类型必须是void</param> public static async void RunAsync<TResult>(Func<TResult> function, Action<TResult> callback) { Func<Task<TResult>> taskFunc = () => { return Task.Run(function); }; //function的返回值作为callback的参数 TResult rlt = await taskFunc(); callback?.Invoke(rlt); } }
相关文章推荐
- C# 线程知识--使用Task执行异步操作
- C# 线程知识--使用Task执行异步操作
- C#执行异步操作的几种方式比较和总结(转发:https://www.cnblogs.com/durow/p/4826653.html)
- C# 线程知识--使用Task执行异步操作(转)
- C# 线程知识--使用Task执行异步操作
- C# 线程知识--使用Task执行异步操作
- c#执行异步操作
- C#执行异步操作的几种方式总结比较
- C#执行异步操作的几种方式比较和总结
- [转]C# 线程知识--使用Task执行异步操作
- C#执行异步操作的几种方式比较和总结
- CLR_via_C#.3rd 翻译[25.7 使用专用线程执行异步的计算限制操作]
- c# 进度条BackgroundWorker 组件用来执行诸如数据库事务、文件下载等耗时的异步操作
- [C#] 走进异步编程的世界 - 在 GUI 中执行异步操作
- C#执行异步操作的几种方式比较和总结
- C# 线程知识--使用Task执行异步操作
- C#执行异步操作的几种方式比较和总结
- C#执行异步操作的几种方式比较和总结
- C#执行异步操作的几种方式比较和总结
- C# 线程知识--使用Task执行异步操作