委托回调初识

简介:

我们知道定义一个委托之后,就可以像MyDelegate(3,7)这样回调方法,其实每一个委托对象都是一个类对象,每一个委托对象中都有一个Invoke的同步成员方法(查MSDN得知),系统实际调用的是MyDelegate.Invoke(3,7).那么Invoke的内部结构怎样的呢?当然MSDN上面肯定查不出来了,琢磨了一下,可以模仿一下的嘛!

Invoke的内部实现(伪代码)

 

其中GetInvocationList返回Delegate类型数组,Method为一个System.Reflection.MethodInfo类型变量,Target为Object对象,具体参考MSDN。

作者:周见智 
出处:http://www.cnblogs.com/xiaozhi_5638/ 
本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。

标签:  委托、Invoke


本文转自周见智博客博客园博客,原文链接:http://www.cnblogs.com/xiaozhi_5638/archive/2010/04/03/1703941.html,如需转载请自行联系原作者
目录
相关文章
|
7月前
|
存储 安全 C#
C# - 委托与事件
这篇文档介绍了C#中的委托和事件。委托是存储方法引用的类型,支持回调、事件处理,具有引用方法、类型安全、多播性等特性,并在异步编程中发挥作用。事件是委托的封装,提供保护和订阅机制,防止外部直接访问。当需要在类内部控制方法调用,防止外部误触发时,可使用事件。
|
C#
C# 委托和事件
C# 委托和事件
101 0
C# 委托和事件
|
开发框架 安全 .NET
委托表示回调
委托表示回调
111 0
|
C# 设计模式 编译器
|
Web App开发 安全 C#
|
监控 C# Windows