共用方式為


Get 語句

Get宣告用來擷取屬性值的屬性程式。

語法

[ <attributelist> ] [ accessmodifier ] Get()  
    [ statements ]  
End Get  

組件

術語 定義
attributelist 選擇性。 請參閱 屬性清單
accessmodifier 在這裡屬性中,最多有一個 GetSet 語句是選擇性的 。 可以是下列其中一項:

- 保護
- 朋友
- 私人
- Protected Friend

請參閱 Visual Basic 中的存取層級
statements 選擇性。 呼叫屬性程序時 Get 執行的一或多個語句。
End Get 必須的。 終止屬性程序的定義 Get

備註

除非屬性標示WriteOnly為 ,否則每個屬性都必須有Get屬性程式。 程式 Get 是用來傳回 屬性的目前值。

當表達式要求屬性值時,Visual Basic 會自動呼叫屬性 Get 的程式。

屬性宣告的主體只能包含 Property 語句與 語句之間的 屬性GetSetEnd Property程式。 它無法儲存這些程式以外的任何專案。 特別是,它無法儲存屬性的目前值。 您必須將此值儲存在 屬性之外,因為如果您將其儲存在任一屬性程式內,其他屬性程式就無法存取它。 一般方法是將值儲存在與 屬性相同層級宣告的 Private 變數中。 您必須在套用的 屬性內定義 Get 程式。

除非您在語句中使用 Get ,否則Getaccessmodifier此程式預設為其包含屬性的存取層級。

規則

  • 混合存取層級。 如果您要定義讀寫屬性,您可以選擇性地為 GetSet 程式指定不同的存取層級,但不能同時指定兩者。 如果您這樣做,程式存取層級必須比屬性的存取層級更嚴格。 例如,如果屬性宣告Friend為 ,您可以宣告程式Private,但不能Public宣告 Get

    如果您要定義 ReadOnly 屬性,則 Get 程式代表整個屬性。 您無法針對 宣告不同的存取層級 Get,因為這會為 屬性設定兩個存取層級。

  • 傳回類型。 Property Statement 可以宣告其傳回之值的數據類型。 此 Get 程式會自動傳回該數據類型。 您可以指定任何資料類型或列舉、結構、類別或介面的名稱。

    Property如果語句未指定 returntype,則程式會傳Object回 。

行為

  • 從程式傳回。 Get當程式傳回呼叫端程式代碼時,會在要求屬性值的語句內繼續執行。

    Get 屬性程式可以使用 Return Statement 或將傳回值指派給屬性名稱,來傳回值。 如需詳細資訊,請參閱 Function 語句中的「傳回值」。

    Exit PropertyReturn 語句會立即結束屬性程式。 程式中的任何位置都可以顯示任意數目 的 Exit PropertyReturn 語句,而且您可以混合 Exit PropertyReturn 語句。

  • 傳回值。 若要從 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

另請參閱