您好,欢迎来到花图问答。
搜索
您的当前位置:首页C#中实现异步

C#中实现异步

来源:花图问答
新建:

private delegate bool AsyncProcessHandler();

private AsyncProcessHandler ProcessHandler = null;

异步的实现函数(将下面代码直接拷贝到你程序中,黄色的部分是需要修改的):

public IAsyncResult BeginProcess(AsyncCallback callback, object state) {

try {

this.ProcessHandler = new AsyncProcessHandler(this.BeginCopy);

//this.BeginCopy就是异步的执行函数,在该函数中调用你的异步程序,该函数为自定义函数,定义如下面

return this.ProcessHandler.BeginInvoke(callback, state); }

catch (Exception e) {

throw e; } }

public void EndProcess(IAsyncResult asyncResult) {

try {

if (this.ProcessHandler != null) {

if (asyncResult.IsCompleted) {

异步正常完成之后需要添加的代码,比如弹出完成的提示,如下面语句 MessageBox.Show(\"异步完成!\", \"提示\", MessageBoxButtons.OK); } else {

异步非正常完成的处理代码 }

this.ProcessHandler.EndInvoke(asyncResult); this.ProcessHandler = null; } }

catch (Exception e) {

throw e; } }

private bool BeginCopy() {

//异步程序 return true;

}

异步程序的进入:

在某个函数中添加代码如下,this.BeginProcess(new AsyncCallback(this.EndProcess), null); 程序从这个地方就进入异步执行

因篇幅问题不能全部显示,请点此查看更多更全内容

Copyright © 2019- huatuowenda.com 版权所有 湘ICP备2023022495号-1

违法及侵权请联系:TEL:199 1889 7713 E-MAIL:2724546146@qq.com

本站由北京市万商天勤律师事务所王兴未律师提供法律服务