关于vb.net委托事件的信息( 三 )


委托在调用过程和被调用过程需要媒介的情况下是很有用的 。例如,您可能想让一个引发事件的对象能够在不同的环境下调用不同的事件处理程序 。不幸的是,引发事件的对象无法提前知道处理特定事件的事件处理程序 。Visual Basic .NET 通过在使用 AddHandler 语句时创建委托,可让您动态地将事件处理程序与事件关联 。在运行时,委托将各种调用转发到相应的事件处理程序 。
尽管可以创建自己的委托 , 但在大多数情况下,Visual Basic .NET 为您创建委托并提供具体信息 。例如,Event 语句将名为 EventNameEventHandler 的委托类隐式定义为 Event 语句所在类的嵌套类,且其签字与该事件相同 。AddressOf 语句则隐式创建委托的实例 。例如 , 以下两行代码是等效的:
AddHandler Button1.Click, AddressOf Me.Button1_Click
' AddHandler 指向引发事件的对象 , AddressOf则确定该事件对象所要调用的事件处理程序
'上述行为又可以称为 监 视
AddHandler Button1.Click, New EventHandler(AddressOf Button1_Click) 。
vb.net 子类事件委托访问父类私有程序问题1、是的vb.net委托事件,作用域的区别如下vb.net委托事件:
Public 公有成员,表示所有模块的所有其它过程都可访问这个成员 。
Private
私有成员,表示只在其类的块中,唯有友元(Friend)才可以访问,属私有对象 。其vb.net委托事件他地方均不可以访问 。
Protected 半私有成员,表示只在其类的块中 , 或者是派生类中 , 友元才能访问 。
Friend
友元,设置成友元的情况下下 , 可以不受public跟private的约束,可以进行私有成员的访问 。
所以两个不同的模块中唯有 Public 是可以互相访问的 。
2、能触发 。
Private 是相对于其他类来讲是 Private 的,对于 C1 本身是可以访问的 。既然 class2 是 C2 的实例,并继承了 C1 , 那么是可以触发 C1 中的 Private 过程的 。
关于vb.net委托事件和的介绍到此就结束了,不知道你从中找到你需要的信息了吗 ?如果你还想了解更多这方面的信息,记得收藏关注本站 。

推荐阅读