VB.NET事件访问器的特性是什么呢

VB.NET事件访问器的特性是什么呢,相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。

成都创新互联专注为客户提供全方位的互联网综合服务,包含不限于成都网站制作、网站建设、外贸网站建设、祥云网络推广、微信小程序定制开发、祥云网络营销、祥云企业策划、祥云品牌公关、搜索引擎seo、人物专访、企业宣传片、企业代运营等,从售前售中售后,我们都将竭诚为您服务,您的肯定,是我们最大的嘉奖;成都创新互联为所有大学生创业者提供祥云建站搭建服务,24小时服务热线:028-86922220,官方网址:www.cdcxhl.com

 VB.NET编程语言中有两种比较重要的访问器,一种是属性访问器,另一种则是VB.NET事件访问器。在这里我们会针对这两种访问器做一个详细的介绍,尤其是VB.NET事件访问器的相关应用方式。

VB.NET属性访问器的可访问性

以前,一个一直困扰我的问题就是VB.NET中Get和Set访问器必须具有相同的可访问性(Public、Friend、或Private)。如果你想创建一个只读的Public属性(只有Get被公开),那么在你的组件中并没有Set访问器来强制确认或者自定义属性的处理。

现在,VisualBasic2005中的Get和Set访问器可以设置不同的可访问性了,只是Set在访问上必须比Get更受限制:

Private_myPropAsString   PublicPropertyMyProp()AsString   Get  Return_myProp  EndGet   FriendSet(ByValvalueAsString)  Ifvalue.Trim.Length>0Then  _myProp=value.Trim  Else  value="" EndIf  EndSet   EndProperty

无论是对于团队开发环境还是对于为了努力追求代码***重用率的个人开发者,这个特性都相当有用。

自定义VB.NET事件访问器

VB.NET事件访问器允许你定义一个自定义事件,并且,你可以控制在当客户端添加或删除了事件处理器并引发你的事件后所发生的情况。假设你有一个自定义的类,在该类中你引发了一个RateChanged事件。你可以按照下面两种方式其中一种来声明普通的事件:

PublicEventRateChanged()  ''或者  PublicEventHoursChangedAsEventHandler

用这种方式声明事件会产生一个自动托管的后备存储。换言之,系统将处理事件托管和分派的方式。通常情况下这就很好了,但是有时候,你需要对如何通知事件监听器的方式拥有更多的控制。

你可以利用这个新的Custom关键字来定义一个自定义事件以及它的访问修饰符。当你在事件声明上敲下回车键后,VisualBasic2005将为你自动生成代码原形,其生成方式就像Property访问器那样:

PublicCustomEventNameChangedAsEventHandler  AddHandler(ByValvalueAsEventHandler)  ''把处理器与后备存储挂钩  EndAddHandler 软件开发网   RemoveHandler(ByValvalueAsEventHandler)  ''从后备存储中删除处理器  EndRemoveHandler   RaiseEvent(ByValsenderAsObject,ByValeAsEventArgs)  ''激发监听器  EndRaiseEvent   EndEvent

当客户端为你的事件添加或删除了一个处理器后,AddHandler或RemoveHandler历程开始运作。而当事件被引发后,RaiseEvent历程开始执行。通过这种方式,你可以按照你想要为事件托管后备存储的方式来采取特别的操作。当你用这种方式创建了这些自定义事件,你就可以把该事件当作属性来看待。

一个展示了自定义VB.NET事件访问器有用一面的例子,就是当你的对象是可序列化的、并且你有一个可以被一个不可序列化的委托对象处理的事件的时候。如果你试图通过一个普通事件来序列化你的对象,序列化就会失败,这是因为后备该事件的存储是不可序列化的。

看完上述内容,你们掌握VB.NET事件访问器的特性是什么呢的方法了吗?如果还想学到更多技能或想了解更多相关内容,欢迎关注创新互联行业资讯频道,感谢各位的阅读!


分享名称:VB.NET事件访问器的特性是什么呢
转载源于:http://pwwzsj.com/article/pepjhs.html