詳解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(結構)的一個成員。如果它標記為共享的,你才能初始化這個自動執行屬性。
原文轉自:http://www.anti-gravitydesign.com