public delegate void CounterDelegate();
如上代码,编译器会给我们自动生成一个CounterDelegate类,并给这个类添加1个构造方法,和3个虚拟的调用方法,其中1个调用方法如下:
public virtual extern void Invoke();
我们使用CounterDelegate类声明一个实例,并给他添加一个Counter方法,代码如下:
CounterDelegate p = new CounterDelegate(Counter);
当我们需要唤起(调用)Counter方法时,只需要p.Invoke();
但是Invoke方法是个虚拟方法并没有实现部分,请问,具体唤起过程到底是怎么实现的?
“相当于”是一个模糊的概念,我想要知道的是,具体的步骤,具体的代码实现过程
c#里面存了MethInfo在栈里面。p.Invoke()就是相当于直接调用该方法实现了