Get 陳述式
宣告用來擷取屬性值的 Get
屬性程序。
語法
[ <attributelist> ] [ accessmodifier ] Get()
[ statements ]
End Get
組件
詞彙 | 定義 |
---|---|
attributelist |
選擇性。 請參閱屬性清單。 |
accessmodifier |
最多對此屬性中 Get 和 Set 陳述式的其中一者為選擇性。 可以是下列其中一項:- Protected - Friend - 私用 - Protected Friend 請參閱 Access levels in Visual Basic。 |
statements |
選擇性。 呼叫 Get 屬性程序時執行的一或多個陳述式。 |
End Get |
必要。 終止 Get 屬性程序的定義。 |
備註
除非屬性標示為 WriteOnly
,否則每個屬性都必須有 Get
屬性程序。 Get
程序可用來傳回屬性的目前值。
當運算式要求屬性值時,Visual Basic 會自動呼叫屬性的 Get
程序。
屬性宣告的主體只能包含屬性陳述式與 End Property
陳述式之間屬性的 Get
和 Set
程序。 它無法儲存這些程序以外的任何項目。 它尤其無法儲存屬性目前的值。 因為您如果將此值儲存在任一屬性程序內,其他屬性程序就無法存取它,所以您必須將其儲存在屬性之外。 一般方法是將值儲存在與屬性相同層級宣告的私用變數中。 您必須在套用該值的屬性中定義 Get
程序。
除非您在 Get
陳述式使用 accessmodifier
,否則 Get
程式會將所包含屬性的存取層級設為預設值。
規則
混合的存取層級。 如果您要定義讀寫屬性,您可以選擇性地為
Get
或Set
程序指定不同的存取層級,但不能同時指定兩者。 如果您這樣做,程序存取層級必須比屬性的存取層級更嚴格。 例如,如果屬性已宣告為Friend
,則您可以將Get
程序宣告為Private
,但不能宣告為Public
。如果您要定義
ReadOnly
屬性,則Get
程序代表整個屬性。 因為對Get
宣告不同的存取層級會為屬性設定兩個存取層級,所以您無法執行此動作。傳回型別。 屬性陳述式可以宣告其所傳回值的資料類型。
Get
程序會自動傳回該資料類型。 您可以指定任何資料類型,或是列舉、結構、類別或介面的名稱。如果
Property
陳述式未指定returntype
,則程序會傳回Object
。
行為
從程序傳回。 當
Get
程序傳回呼叫端程式碼時,執行會在要求屬性值的陳述式內接續進行。Get
屬性程序可以使用 Return 陳述式或將傳回值指派給屬性名稱來傳回值。 如需詳細資訊,請參閱函式陳述式的<傳回值>。Exit Property
和Return
陳述式會導致屬性程序立即結束。 任意數目的Exit Property
和Return
陳述式可以出現在程序中的任何位置,且您可以混合Exit Property
與Return
陳述式。傳回值。 若要從
Get
程序傳回值,您可以將值指派給屬性名稱,或將其包含在 Return 陳述式中。Return
陳述式會同時將傳回值指派給Get
程序,並結束程序。如果您使用
Exit Property
而不將值指派給屬性名稱,則Get
程序會傳回屬性資料類型的預設值。 如需詳細資訊,請參閱 Function 陳述式的<傳回值>。下列範例說明唯讀屬性
quoteForTheDay
可用以傳回私用變數quoteValue
中所保留值的兩種方式。Private quoteValue As String = "No quote assigned yet."
ReadOnly Property QuoteForTheDay() As String Get QuoteForTheDay = quoteValue Exit Property End Get End Property
ReadOnly Property QuoteForTheDay() As String Get Return quoteValue End Get End Property
範例
下列範例會使用 Get
陳述式來傳回屬性的值。
Class propClass
' Define a private local variable to store the property value.
Private currentTime As String
' Define the read-only property.
Public ReadOnly Property DateAndTime() As String
Get
' The Get procedure is called automatically when the
' value of the property is retrieved.
currentTime = CStr(Now)
' Return the date and time As a string.
Return currentTime
End Get
End Property
End Class