c#中的回调,调用顺序和返回

use*_*770 6 c# callback

关于回调的一个简单问题.完成后,回调函数是否返回到调用函数的下一行?

class A
{
 public delegate void A();
 public event A onA;

 public void func()
 {
   //some code 1
  onA();
  //some code 2 
 }
Run Code Online (Sandbox Code Playgroud)

所以问题是onA事件会去执行相应的处理程序,然后回到'某些代码2'位,或者这是异步的,代码不会等待事件被完全处理?

我希望这个问题很清楚.

谢谢 }

ska*_*kaz 2

是的,在您的示例中, onA() 将触发所有连接到 A 的事件处理程序以触发。它们只是将被调用的方法。全部调用后,控制权将返回到 func()。

它不是异步的——您只使用一个线程。一切都会按照明确的顺序发生。

一个好的实验方法是使用内置调试器逐步执行示例中的代码。