zoukankan      html  css  js  c++  java
  • 委托

    什么是委托?

    安全的函数指针

    就是一个能存放符合某种格式(方法签名)的方法的指针的清单

    委托创建方法

    1.  准备一个方法: string HelloU (string name) {   }

    2.声明委托:delegate 返回值类型 委托类型名(参数)

                           例子:delegate string DGSayHi  ( string Name );

    3.创建委托对象 :DGSayHi dgSay=new  DGSayHi ( HelloU );

    或者:  DGSayHi dgSay = HelloU;

    4.追加方法: dgSay+=HelloU2;

    5.删除方法:dsSay-=HelloU3;

    委托调用方式

     dgSay (" binggo"); // 

    dgSay.Invoke("binggo");

    我们创建了一个方法,内存为这个方法开辟一个空间,  分配给该空间一个编号地址,有个指针指向这个地址,根据这个指针找到内存中的地址,因为委托签名要一致才能调用,从安全角度出发,委托是安全的.

    C语言 的指针是不安全的,可以随便生成的 ,一不小心就指向其他系统文件地址

    事件

    事件是委托的一个特殊实例,私有的委托,,比委托安全,委托说穿就是一个类,在类里定义一个事件,只能在该类下进行调用

     Fun<>委托 调用有返回值

    Action<>委托  调用没有返回值

    为什么微软要提供这2个委托? 

    因为避免重复调用相同签名委托

  • 相关阅读:
    hdu 2147 kiki's game
    HDU 1846 Brave Game
    NYOJ 239 月老的难题
    NYOJ 170 网络的可靠性
    NYOJ 120 校园网络
    xtu字符串 B. Power Strings
    xtu字符串 A. Babelfish
    图论trainning-part-1 D. Going in Cycle!!
    XTU 二分图和网络流 练习题 J. Drainage Ditches
    XTU 二分图和网络流 练习题 B. Uncle Tom's Inherited Land*
  • 原文地址:https://www.cnblogs.com/ligtcho/p/6642107.html
Copyright © 2011-2022 走看看