• 委托 用法 学习心得: 哪里用委托


    委托 主要用途 就是  通知 调用者.

    具体

    class  classA

    dim B1 as new ClassB

    end class

    Class classB

      sub 方法1()

        if xx then

          全局变量1= 1

        else if yy then

          全局变量1 = 2

        else

          

        end if

      end sub

    end class

    这里 在 ClassA 中 声明了一个ClassB的实例B1(实例 就是 真的在内存中 给它划了了一块地方--给房卡了,未实例 就是 预定了房间,但还没拿到房卡 ).

    这时,classA执行 B1.方法1 ,更改了 全局变量1, 假设 全局变量 变成 2 以后 A 要干一件事情1,

    那么 方案1:  A 可以 通过 查询 全局变量1 来确定 是否干事情1.

    方案2: B 通知 A 我这里 的 变量变成2了.

    显然 通过 方案2 更方便 更高效,因为 只有 变量变成2 它才 通知A

    再看 委托 实现的 过程.

    如果大家不理解 那么 把 委托类型 先理解成 vb6 中 type 类型,vb.net 的 structure 类型.  自定义数据类型 就好理解了

    1:   在B类里面, 先 自定义 一个类型    

    structure  自定义

      dim  s1 as string

      dim s2 as string

    end structure

    deligate  sub 委托类型 ( str as string)

    2: 声明一个 自定义类型的 变量

    dim 自1 as  自定义

    dim 委1 as 委托类型

    3: 调用

    在A类里面  声明 B1

    B1.自1.s1 = "名字"

    B1.自1.S2 = "年龄"

    B1.委1 = addressof 函数名

    =================================

    到这里 大家应该明白了. 为什么 委托 要先声明,其实 它就是 自定义函数结构类型

    而 委托 保存的 是 一个 函数的 地址.

    通过这个地址,可把处理 转到 调用者A 那里,A可以自己处理 出现的情况.

    总结:  被调用者B 可以通过 委托,反向 (通知)调用 A中的函数处理相关的事情.

  • 相关阅读:
    网址收藏
    Linux创建swap文件
    vim命令大全
    char * 和字符数组
    JSR 203终于要出来啦
    对象关系技术的探讨
    最近编码更流畅了
    孤独终止的地方,就是广场开始的地方......
    不要奢望.NET能够跨平台
    实现了HTTP多线程下载
  • 原文地址:https://www.cnblogs.com/MadeInChinese/p/12869221.html
Copyright © 2020-2023  润新知