C#委托学习笔记
2012-04-15 18:37
267 查看
定义
C#委托实际上是一种引用类型,它类似函数指针,使我们可以将方法当作参数来传递。
本质
委托使用简单,然而实际情况却很复杂,只是编译器和CLR做了大量的工作来隐藏它的复杂性。
我们看看编译器和CLR如何实现委托
创建一个委托
通过Reflector反编译后
例子
结果
C#委托实际上是一种引用类型,它类似函数指针,使我们可以将方法当作参数来传递。
本质
委托使用简单,然而实际情况却很复杂,只是编译器和CLR做了大量的工作来隐藏它的复杂性。
我们看看编译器和CLR如何实现委托
创建一个委托
public delegate void DrinkWater(int x);
通过Reflector反编译后
internal class DrinkWater : System.MulticastDelegate { //构造器 public DrinkWater(Object object, IntPtr method); //方法的原型与源代码制定的相同 public virtual void Invoke(Int32 value); //允许异步回调的方法 public virtual IAsyncResult BeginInvoke( Int32 value, AsyncCallback callback, Object object); public virtual void EndInvoke(IAsyncResult result); }
例子
结果
相关文章推荐
- C#学习笔记五---委托
- C#事件 委托 学习笔记
- C#学习笔记-委托
- C#学习笔记:泛型委托Action<T>和Fun<TResult>
- C#委托与事件学习笔记
- 关于C#中的委托的学习笔记
- C#与.NET4 高级程序设计-----委托、事件 学习笔记
- C#学习笔记一:委托、匿名函数、Lambda 表达式
- C#之委托概念认识学习笔记
- C#学习笔记之泛型委托
- [C#]C#学习笔记-委托,事件
- C#学习笔记---委托(1)
- 学习笔记之---C#中的委托与事件
- C# 学习笔记_委托(一)Delegate
- 学习笔记之---C#中的委托与事件
- c# 委托的学习笔记(附代码)
- C#教程第7讲委托1(学习笔记)
- C#学习笔记 委托和事件
- C#学习笔记(10)——再谈委托,不同国家问候的例子
- C#委托,事件最初浅的和最易看懂的学习笔记