共用方式為


HOW TO:宣告混合存取層級的屬性 (Visual Basic)

若要屬性上的 Get 和 Set 程序擁有不同的存取層級,可在 Property 陳述式 (Statement) 中使用更寬鬆的層級,並且在 Get 或 Set 陳述式中使用更嚴格的層級。 若要程式碼的某個部分只能取得屬性值,而要其他部分能夠變更值,請在屬性上使用混合存取層級。

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

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

  1. 以一般方式宣告屬性,然後於 Property 陳述式中指定較不嚴格的存取層級 (例如 Public)。

  2. 宣告 Get 或 Set 程序以指定更嚴格的存取層級 (例如 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 存取權限。 salary 值可供衍生自 employee 的類別 (Class) 讀取,但這個類別只能由 employee 類別進行設定。

請參閱

工作

HOW TO:建立屬性 (Visual Basic)

HOW TO:呼叫屬性程序 (Visual Basic)

HOW TO:在 Visual Basic 中宣告及呼叫預設屬性

HOW TO:將值置入屬性 (Visual Basic)

HOW TO:取得屬性值 (Visual Basic)

參考

Property 陳述式

概念

Visual Basic 中的程序

屬性程序 (Visual Basic)

程序參數和引數 (Visual Basic)

Visual Basic 中屬性和變數的差別