VS2010添加了自动执行属性的特性。
自动执行属性,能够让你迅速指定一个类的属性,不用写“Get”和“Set”这个属性的代码。当你为自动执行的属性写代码的时候,Visual Basic编译器自动创建一个私有字段存储这个属性的变量,此外还创建相关的“Get”和“Set”步骤。
采用自动执行的属性,一个属性(包括一个默认值)可以在一个单个的行中声明,如下:
Public Property UserID As String '定义属性UserID Property OpeUser As String =”Yao” '定义属性并赋值
一个自动执行的属性相当于一个属性值存储在一个私有字段中的属性
Public Property UserID As String
相等的代码:
Private _UserID As String Public Property UserID As String Get Return _UserID End Get Set _UserID=value End Set End Property
VS2010的自动执行属性功能,无疑简化了我们的代码,省去了支持字段(隐藏的私有变量)和Get,Set,却也把属性的功能,局限在了Get、Set和赋值。
-
其实在属性中,我们是可以做很多事情di~
(1)向一个属性的Get或者Set步骤增加代码,如在Set步骤中增加验证输入值的代码。
(2)为Get和Set步骤指定不同的访问性。例如,你也许要Set步骤是私有的,让Get步骤是公共的。
(3)创建只写或只读的属性
(4)使用参数化属性(包括默认属性)。你必须声明一个扩展的熟悉以便为这个属性指定一个参数或者为Set步骤指定一个额外的参数。
(5)在支持字段(隐藏的私有变量)加入一个属性。
(6)为支持字段(隐藏的私有变量)提供XML注释。
-
例如:
如果我在给类赋值的时候,添加一些验证操作
Public Class Employee Private m_Name as String Private m_Pay as Decimal Public Property Pay() as Decimal Get Return m_Pay End Get Set If (Value>0 and Value<1000) then m_Pay=Value End If End Set End Property End Class
-
又例如:只读与只写属性(ReadOnly--Get;WriteOnly--Set)
加上恰当的关键字,并移除多余的Get/Set区块
Public Class Employee Private m_Name as String Private m_Pay as Decimal Public ReadOnly Property Pay() as Decimal Get Return m_Pay End Get End Property End Class