zoukankan      html  css  js  c++  java
  • C# 委托加深理解

      之前对委托的理解,一直局限于“委托就类似于C++中强类型的函数指针”。今天听老马跟我一讲,颇有拨云见日之感。

      老马今天对我说,委托,就是定义一个传递方法的规范。

      大家都说委托是一个类型,事件是个字段成员。那么既然委托是个类型,那里面有哪几部分组成来呢?

      一般委托由三部分组成,分别是target,methodPtr和delegateArray。

      target指的是该委托所指向的方法的所有者。若委托指向一个静态方法,例如,string.IsNullOrEmpty(),则target=null,若委托是一个实例方法,比如string s="abc",s.SubString(),则target=s。其目的就是根据不同类型的方法,获取方法所有者的数据。

      methodPtr则是该委托所指向的方法,这个就不再多说了。

      delegateArray,照我的理解是个委托队列,先进先出,维护着一组由三个部分组成的委托类型变量。即多播委托链

  • 相关阅读:
    MFC的自定义消息(用户消息)的定义与使用
    队列的使用
    接私活平台
    下载图标网站
    C#对象序列化
    C#中控件对比(DataGridView,ListView,TreeView,ComboBox)
    C#反射
    C#可选实参和命名实参
    C#扩展方法
    Lambda表达式
  • 原文地址:https://www.cnblogs.com/qiuyeyaozhuai/p/2732965.html
Copyright © 2011-2022 走看看