加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 大数据 > 正文

委托的入门了解

发布时间:2020-12-16 23:17:28 所属栏目:大数据 来源:网络整理
导读:委托是面向对象函数指针的一种形式,它允许通过对函数进行引用的方法来间接地调用该函数。委托可用于与事件处理程序挂接,以及将过程从一个过程传递到另一个过程。 vb.net 委托的声明方式如下: 各个参数的具体解释,请查阅msdn. 1. 函数委托: [ attrlist ]

委托是面向对象函数指针的一种形式,它允许通过对函数进行引用的方法来间接地调用该函数。委托可用于与事件处理程序挂接,以及将过程从一个过程传递到另一个过程。

vb.net 委托的声明方式如下:

各个参数的具体解释,请查阅msdn.

1. 函数委托:

[ <attrlist> ] [ accessmodifier ] _
[ Shadows ] Delegate Function name [( Of typeparamlist )] [([ parameterlist ])] [ As type ]

example:

delegate function add(byval x as integer,byval y as integer) as integer

2.过程委托:

[ <attrlist> ] [ accessmodifier ] _
[ Shadows ] Delegate Sub name [( Of typeparamlist )] [([ parameterlist ])] [ As type ]

example:

delegate sub add_sub(byval x as integer,byval y as integer) as integer

定义一个委托实例:

addressof [sub_name|function_name]

sub_name的参数列表一定要和委托的参数列表完全匹配

function_name的参数列表以及返回值类型一定要和委托的参数列表、返回值类型完全匹配

最后通过委托的invoke方法来实现调用与之关联的方法或过程

下面是代码实例:

//定义一个包含过程和方法的类

class class1

public function add_function(byval x as integer,byval y as integer) as integer

return x+y

end function

pubic sub add_sub(byval x as integer,byval y as integer)

msgbox(ctype(x+y).tostring)

end sub

end class

class delegate_test

delegate function add_f(byval x as integer,byval y as integer) as integer

deletgate sub add_s (byval x as integer,byval y as ineger)

sub test()

dim c as class1

dim a_f as add_f

dim a_s as add_s

dim r as integer

c=new class1

end sub

end class

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读