Mon*_*ong 10 .net c# delegates invoke
如果我在我的代码中创建一个委托,如:
delegate void dostuff (string o);
Run Code Online (Sandbox Code Playgroud)
这产生派生从一个类System.MulticastDelegate,它实现三个方法- Invoke,BeginInvoke和EndInvoke.
如果我看一下所编译的IL,Invoke我看到的是:
.method public hidebysig newslot virtual
instance void Invoke(string o) runtime managed
{
} // end of method dostuff::Invoke
Run Code Online (Sandbox Code Playgroud)
该方法不包含代码.调用它确实有效 - 委托被调用,但我看不出它是如何做到的.
调用Invoke实际调用委托的伏都教来自哪里?
伏都教可以在签名结束时找到:runtime managed.请注意,您定义的所有托管类和方法都将被装饰为cli managed.
runtime managed 表示运行时提供方法的预优化实现.
| 归档时间: |
|
| 查看次数: |
1902 次 |
| 最近记录: |