VB.NET还是比较常用的,于是我研究了一下VB.NET属性,在这里拿出来和大家分享一下,希望对大家有用。很多人在对属性的认识上产生了一些混乱的概念。其实属性这个东西绝非人们想象的那么复杂。让我们回到最基础的概念层次上来讨论属性:所谓属性其实就是暴露了读/写接口的类的内部所包含的一块数据。按照这个定义,你可能会认为你能在类中声明一个公共变量然后把它称为一个属性。当然,这种假设也不是没有一点道理,不过,类的公共变量所对应的技术术语应该是field(域)。域和属性之间的关键差别在于接口的包含性质上。现在暂时不对这一差别做具体解释咱们先明白其语法用途即可,以下介绍VB.NET属性。
创新互联建站成立与2013年,是专业互联网技术服务公司,拥有项目网站设计制作、成都网站制作网站策划,项目实施与项目整合能力。我们以让每一个梦想脱颖而出为使命,1280元定结做网站,已为上家服务,为定结各地企业和个人服务,联系电话:18980820575
在VB6中,属性由Let、Get和Set程序来定义和操作。而在VB.NET中语法就变了。属性被组织为单个Property代码块,其中针对属性的写(Set)和读(Get)操作设置了子代码块。这一程序起到了类的私有变量之上的抽象层作用。大多数人习惯于采用类似公共变量的方式命名这些私有变量,在它们前面加上小写的前缀字母m或者加上下划线区分所关联的属性(m前缀是VB6中继承下来的,意思是:“模块级变量”)。举一个例子:
- Private _ContactName As String
- Public Property ContactName()
- Get
- Return _ContactName
- End Get
- Set(ByVal Value)
- _ContactName = Value
- End Set
- End Property
我给一个假定的类ContactName创建了一个属性。为了支持该属性,我需要在类里设置一个变量存储其实际值。ContactName私有变量就是完成这一功能的。只要我获取或者设置了该属性,我就等于间接地使用了该值。
那么,为什么这么做就比使用域更好一些呢?主要的原因是,如果采用域,那么就无法控制写到变量中的数据。比方说,有的人却偏偏要在整数域中置入字符串或者给只读域赋值。在采用属性的情况下,你可以在Set程序中增加逻辑来保证赋值的有效性。你甚至可以完全省略Set代码块把属性设置为只读。
VB.NET属性真奇妙
最后,.NET还向我们提供了就被称为属性的内容。如果某个类标记为属性,那么它就被赋予一些特别有意思的专门功能。比如以下的Serializable属性。
()> - Public Class MyClass
- '该类可以串行化!
- End Class
把以上的类标记为属性之后,不论其处于什么状态我都可以获取其实例并写出磁盘。在一些任何时候,我就可以对该类去串行化,就好象它始终保存在内存中一样。.NET框架提供了大量的属性,你甚至可以自VB.NET创建属性。
分享标题:讨论奇妙的VB.NET属性
URL网址:http://www.csdahua.cn/qtweb/news42/23092.html
网站建设、网络推广公司-快上网,是专注品牌与效果的网站制作,网络营销seo公司;服务项目有等
声明:本网站发布的内容(图片、视频和文字)以用户投稿、用户转载内容为主,如果涉及侵权请尽快告知,我们将会在第一时间删除。文章观点不代表本网站立场,如需处理请联系客服。电话:028-86922220;邮箱:631063699@qq.com。内容未经允许不得转载,或转载时需注明来源: 快上网