当前位置: 首页 > 编程语言 > C#

完成事件的异步方法分享

时间:2023-04-10 15:06:58 C#

完成事件的异步方法我正在使用.net4.0,我想弄清楚如何使用异步方法等待DocumentCompleted事件完成并返回一个值.我的原始代码在上面,在这种情况下如何将其转换为异步/等待模型?私有类BrowserWindow{privateboolwebBrowserReady=false;公共字符串内容=“”;publicvoidNavigate(stringurl){xxx浏览器=newxxx();browser.DocumentCompleted+=newEventHandler(wb_DocumentCompleted);webBrowserReady=false;浏览器。创建控件();如果(browser.IsHandleCreated)browser.Navigate(url);while(!webBrowserReady){//Application.DoEvents();>>将其替换为async/await}}privatevoidwb_DocumentCompleted(objectsender,EventArgse){try{...webBrowserReady=true;content=browser.Document.Body.InnerHtml;}catch{}}publicdelegatestringAsyncMethodCaller(stringurl);}所以我们需要一个在DocumentCompleted事件触发时返回任务的方法。每当你需要一个给定的事件时,你可以创建一个这样的方法:browser.DocumentCompleted+=(s,args)=>tcs。设置结果(真);返回tcs.Task;}有了之后就可以使用了:以上就是C#学习教程的全部内容:异步方法完成事件,如果对大家有用还需要详细了解C#学习教程,希望大家多多支持更多关注它——等待browser.WhenDocumentCompleted();本文收集自网络,不代表立场。如涉及侵权,请点击右侧联系管理员删除。如需转载请注明出处: