共用方式為


如何:宣告具有混合存取層級的屬性 (Visual Basic)

如果您想要Get屬性上的和 Set 程式具有不同的存取層級,則可以在語句中使用Property更寬鬆的層級,以及在 或 Get 語句中使用Set更嚴格的層級。 當您希望程式代碼的某些部分能夠取得屬性的值,以及程式代碼的某些其他部分能夠變更值時,您會在屬性上使用混合存取層級。

如需存取層級的詳細資訊,請參閱 Visual Basic中的存取層級

若要宣告具有混合存取層級的屬性

  1. 以一般方式宣告 屬性,並在語句中Public指定較不嚴格的存取層級(例如 Property)。

  2. 宣告 GetSet 程式時,需指定更嚴格的存取層級,例如 Friend

  3. 請勿在另一個屬性程式上指定存取層級。 它會假設語句中宣告的 Property 存取層級。 您只能限制其中一個屬性程式的存取。

    Public Class employee
        Private salaryValue As Double
        Protected Property salary() As Double
            Get
                Return salaryValue
            End Get
            Private Set(ByVal value As Double)
                salaryValue = value
            End Set
        End Property
    End Class
    

    在上述範例中, Get 程式具有與屬性本身相同的 Protected 存取權,而 Set 程式具有 Private 存取權。 從 employee 衍生的 類別可以讀取 salary 值,但只有 employee 類別可以設定該值。

另請參閱