您的位置: 首页 > 技术文档 > 网络编程 > 详解 vs2010 中自动执行属性
VS2010- IntelliTrace(智能跟踪) 回到列表 vs2010 建模学习(1):什么是DGML
 详解 vs2010 中自动执行属性

作者:bluehearts 时间: 2010-05-10 文档类型:原创 来自:蓝色理想

详解Visual Studio 2010中自动执行属性

Visual Studio 2010中,有不少特性能帮助大家更好,更快的完成开发工作。本文将介绍的是自动执行属性。

自动执行的属性能够让你迅速指定一个类的属性,不用写“Get”和“Set”这个属性的代码。当你为自动执行的属性写代码的时候,Visual Basic编译器自动创建一个私有字段存储这个属性的变量,此外还创建相关的“Get”和“Set”步骤。

采用自动执行的属性,一个属性(包括一个默认值)可以在一个单个的行中声明。下面的例子显示了三个属性的声明。

Public Property Name As String   
Public Property Owner As String = "DefaultName"   
Public Property Items As New List(Of String) From {"M", "T", "W"}   
Public Property ID As New Guid() 

一个自动执行的属性相当于一个属性值存储在一个私有字段中的属性。下面代码例子显示一个自动执行属性。

Property Prop2 As String = "Empty" 

下面的代码例子显示以前自动执行属性例子的相等的代码。

Private _Prop2 As String = "Empty"   
Property Prop2 As String   
Get   
Return _Prop2   
End Get   
Set(ByVal value As String)   
_Prop2 = value   
End Set   
End Property  

支持字段

当你声明一个自动执行属性的时候,Visual Basic自动创建一个名为“支持字段”的隐藏的私有字段 以容纳这个属性的值。这个支持字段名称是前面有一个加下划线(_)的自动执行的属性名称。例如,如果你声明一个自动执行的属性命名的ID,这个支持字段就命名为_ID。如果你包含一个名称也是_ID的你的类的一个编号,你就制造了一个命名冲突,Visual Basic将报告一个编译器错误。

这个支持字段还有下面的特点:

  • 访问这个支持字段修饰符总是私有的方式,甚至当属性本身有不同的访级别(如公共的)的时候也是如此。
  • 如果属性标记为共享,这个支持字段也是共享的。
  • 为这个属性指定的属性不适用于这个支持字段。

支持属性可以从这个类中的代码访问以及从Watch window等调试工具访问。然而,这个支持字段在IntelliSense(智能感应)字补全列表中不显示出来。

初始化一个自动执行属性

能够用于初始化一个字段的任何表达式对于初始化一个自动执行属性都是合法的。当你初始化一个自动执行属性的时候,这个表达式将被评估并且传送到这个属性的Set步骤。下面的代码例子显示包括初始值的一些自动执行的属性。

Property FirstName As String = "James" 
Property PartNo As Integer = 44302  
Property Orders As New List(Of Order)(500) 

你不能声明一个自动执行的属性作为一个Structure(结构)的一个成员。如果它标记为共享的,你才能初始化这个自动执行属性。

当你声明一个自动执行属性作为一个组数的时候,你可以指定明确的组数边界。然而,你可以使用一个组数初始化程序提供一个值,如下面的例子所示:

Property Grades As Integer() = {90, 73}  
Property Temperatures As Integer() = New Integer() {68, 54, 71}
需要标准语法的属性定义

自动执行的属性是很方便的,支持许多编程情况。然而,有一些情况你不能使用自动执行的属性,必须使用标准的或者扩展的属性语法。

如果你要做下列之情之一,你必须使用属性定义语法:

  • 向一个属性的Get或者Set步骤增加代码,如在Set步骤中增加验证输入值的代码。例如,你也许在设定这个属性值之前验证一个字符串。这个字符串显示一个包含要求的数字数量的电话号码。
  • 为Get和Set步骤指定不同的访问性。例如,你也许要Set步骤是私有的,让Get步骤是公共的。
  • 创建只写或只读的属性
  • 使用参数化属性(包括默认属性)。你必须声明一个扩展的熟悉以便为这个属性指定一个参数或者为Set步骤指定一个额外的参数。
  • 在支持字段加入一个属性。
  • 为支持字段提供XML注释。

扩展一个自动执行的属性

如果你必须要把一个自动执行的属性转变为包含一个Get或者Set步骤的扩展的属性,Visual Basic代码编辑器能够自动生成Get和Set步骤以及这个属性的“End Property”(结束属性)声明。如果你把这个光标放在属性声明后面的空白行中,输入一个G(代表Get)或者一个S(代表Set)并且按下ENTER键,这个代码就生成了。当你在属性声明结束时按下ENTER键的时候,Visual Basic代码编辑器自动生成Get或者Set步骤的只读和只写属性。

本文链接:http://www.blueidea.com/tech/program/2010/7583.asp 

出处:蓝色理想
责任编辑:bluehearts

◎进入论坛网络编程版块参加讨论

相关文章 更多相关链接
VS2010- IntelliTrace(智能跟踪)
Visual Studio 2010是云产品吗?
Visual Studio 2010版本信息介绍
vs 2010:重构完美代码
VS2010 并行计算概述
作者文章 更多作者文章
VS2010- IntelliTrace(智能跟踪)
Visual Studio 2010是云产品吗?
Visual Studio 2010版本信息介绍
用户体验设计精英汇走进上海交大
使用 VS 2010 Express 免费版
关键字搜索 常规搜索 推荐文档
热门搜索:CSS Fireworks 设计比赛 网页制作 web标准 用户体验 UE photoshop Dreamweaver Studio8 Flash 手绘 CG
站点最新 站点最新列表
周大福“敬•自然”设计大赛开启
国际体验设计大会7月将在京举行
中国国防科技信息中心标志征集
云计算如何让安全问题可控
云计算是多数企业唯一拥抱互联网的机会
阿里行云
云手机年终巨献,送礼标配299起
阿里巴巴CTO王坚的"云和互联网观"
1499元买真八核 云OS双蛋大促
首届COCO桌面手机主题设计大赛
栏目最新 栏目最新列表
浅谈JavaScript编程语言的编码规范
如何在illustrator中绘制台历
Ps简单绘制一个可爱的铅笔图标
数据同步算法研究
用ps作简单的作品展示页面
CSS定位机制之一:普通流
25个最佳最闪亮的Eclipse开发项目
Illustrator中制作针线缝制文字效果
Photoshop制作印刷凹凸字体
VS2010中创建自定义SQL Rule

蓝色理想版权申明:除部分特别声明不要转载,或者授权我站独家播发的文章外,大家可以自由转载我站点的原创文章,但原作者和来自我站的链接必须保留(非我站原创的,按照原来自一节,自行链接)。文章版权归我站和作者共有。

转载要求:转载之图片、文件,链接请不要盗链到本站,且不准打上各自站点的水印,亦不能抹去我站点水印。

特别注意:本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有,文章若有侵犯作者版权,请与我们联系,我们将立即删除修改。

您的评论
用户名:  口令:
说明:输入正确的用户名和密码才能参与评论。如果您不是本站会员,你可以注册 为本站会员。
注意:文章中的链接、内容等需要修改的错误,请用报告错误,以利文档及时修改。
不评分 1 2 3 4 5
注意:请不要在评论中含与内容无关的广告链接,违者封ID
请您注意:
·不良评论请用报告管理员,以利管理员及时删除。
·尊重网上道德,遵守中华人民共和国的各项有关法律法规
·承担一切因您的行为而直接或间接导致的民事或刑事法律责任
·本站评论管理人员有权保留或删除其管辖评论中的任意内容
·您在本站发表的作品,本站有权在网站内转载或引用
·参与本评论即表明您已经阅读并接受上述条款
推荐文档 | 打印文档 | 评论文档 | 报告错误  
专业书推荐 更多内容
网站可用性测试及优化指南
《写给大家看的色彩书1》
《跟我去香港》
众妙之门—网站UI 设计之道
《Flex 4.0 RIA开发宝典》
《赢在设计》
犀利开发—jQuery内核详解与实践
作品集 更多内容

杂⑦杂⑧ Gold NORMANA V2