首页 新闻 搜索 专区 学院

C# 怎么才能让回调函数执行完成以后执行某个方法

-1
悬赏园豆:5 [已解决问题] 解决于 2014-08-27 16:51
public void login_cb(){
   //to do   
  IntReleaseEnv()
  update();
}
public void IntReleaseEnv(){
  //释放[释放之后不会在执行后面的方法]
     
}
public void update(){
    login_cb();
}

-----------我这个逻辑是流程是错误的,但是这是我目前能想到的,说下我的思路,在update中有一个logincb函数,这个cb函数中需要调用释放的方法IntReleaseEnv,并且我需要再次执行update函数,由于释放方法执行以后,之后的函数都不在执行,所以IntReleaseEnv(释放方法必须放在最后)但是我又必须执行update方法。
理想效果是,在login_cb整个方法执行完以后,在调用update【login_cb中包含,释放方法】
如下:但是cb函数是异步的,所以真的不知道怎么做了
main(){
       login_cb();
       update();
}
c#
shrimp liao的主页 shrimp liao | 初学一级 | 园豆:135
提问于:2014-08-27 14:53
< >
分享
最佳答案
1

await login_cb();

update();

收获园豆:5
戴眼镜的杀手 | 菜鸟二级 |园豆:240 | 2014-08-27 16:26
其他回答(2)
0

public void login_cb(){

  ......

  update();

}

 public void update(){

  ....

}

main(){

  login_cb();

}

这样就可以了啊

骑着蜗牛耍流氓 | 园豆:135 (初学一级) | 2014-08-27 14:58

感谢您的回复,但是不是我想要的答案,我把问题重新修改了一下。

支持(0) 反对(0) shrimp liao | 园豆:135 (初学一级) | 2014-08-27 15:14
0

action.BeginInvoke(...);

Terminator. | 园豆:221 (菜鸟二级) | 2014-08-27 15:21

BeginInvoke 这个我有在使用,但是达不到我要的效果吧,

我要得不是异步,说白了我要的是个同步。

支持(0) 反对(0) shrimp liao | 园豆:135 (初学一级) | 2014-08-27 15:22

@shrimp liao:那就用

try
{
}
finally
{
},这个总可以吧:)

支持(0) 反对(0) Terminator. | 园豆:221 (菜鸟二级) | 2014-08-27 15:41

@Terminator.: 

貌似行,试试

支持(0) 反对(0) shrimp liao | 园豆:135 (初学一级) | 2014-08-27 15:43
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册