在不阻塞的情况下等待事件触发
本文关键字:等待 事件 情况下 | 更新日期: 2023-09-27 18:14:36
编辑:不,这个问题还没有在上面链接的帖子中得到回答。
如果我有这样的伪代码:
// do some stuff first
wait until ClassName.EventName fires without blocking
// do the rest of the code
在c#和。net 4.0中有没有办法做到这一点?
编辑:我已经下载了Async目标包,我正试图这样做。(我的项目目标是。net 4.0)
我现在已经添加了这样的代码。
private static async void WaitAsyncNoBlock()
{
await dynMapServLayer.IsInitialized;
}
所以它是这样叫的
// do some stuff first
WaitAsyncNoBlock();
// do some more stuff
但是我得到错误消息,"不能等待Bool。"
如果你想在代码中像在。net 4.5中那样使用await
,你可以使用微软的Async Targeting Pack将该功能添加到你的。net 4.0程序中。
您必须创建一个句柄来注释事件。并且,当它触发时,您可以运行您的代码。
例如:MyForm.FormClosed += new FormClosedEventHandler(MyForm_FormClosed);
:
void MyForm_FormClosed(object sender, FormClosedEventArgs e){
//Here you put the rest of code
}