Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/318.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 等待方法完成_C# - Fatal编程技术网

C# 等待方法完成

C# 等待方法完成,c#,C#,我如何才能等待一个方法完成使用C# 调用该方法 等它结束 注意:仅适用于阻止调用。除非使用多个线程,否则在方法完成之前,调用代码中不会继续执行 如果您使用多个线程,这实际上取决于您如何启动任务。例如,您可以使用异步委托执行(foo.BeginInvoke(…))或任务并行库,或者只是创建一个新线程。每种方法都有自己的等待方式,直到任务/线程完成。请提供更多信息,我们可以为您提供更多帮助,但选项可能包括: 在代理上调用EndInvoke,传入BeginInvoke返回的IAsyncResult

我如何才能等待一个方法完成使用C#

  • 调用该方法
  • 等它结束

  • 注意:仅适用于阻止调用。

    除非使用多个线程,否则在方法完成之前,调用代码中不会继续执行

    如果您使用多个线程,这实际上取决于您如何启动任务。例如,您可以使用异步委托执行(
    foo.BeginInvoke(…)
    )或任务并行库,或者只是创建一个新线程。每种方法都有自己的等待方式,直到任务/线程完成。请提供更多信息,我们可以为您提供更多帮助,但选项可能包括:

    • 在代理上调用
      EndInvoke
      ,传入
      BeginInvoke
      返回的
      IAsyncResult
    • 调用(可选超时)
    • 调用(可选超时)

    我假设您正在询问如何等待代码在主线程的另一个线程上执行。为此,该方法将执行您想要的操作


    (这是一个很好的教程。)

    您能更好地解释一下您想要实现的目标吗?如果您的应用程序不是多线程的,并且您调用的方法不是异步的,那么在该方法返回后将调用下一段代码。我们需要更多的信息来处理这里的问题,您是在使用线程还是
    Begin..()
    方法?我们必须假设您在谈论异步方法调用吗?+1当然@mdm这就是为什么我们在这里有+1来实际提供多线程代码的选项。而且,@Pillblast,我猜(但如果我错了肯定会得到纠正)这个答案也适用于自动创建/用于button onclick处理程序等的线程。非常感谢您的回答。我读了所有的教程,最后使用了你在几个月前发布的第一个版本,但是这个教程的链接救了我的命。我非常感谢您分享这个链接。@JClaspill我很高兴它帮助了您:)