方法: 複数のアクセス レベルを持つプロパティを宣言する (Visual Basic)

プロパティ上の Get および Set プロシージャに異なるアクセス レベルを割り当てるには、Property ステートメントでは制限のレベルを低くし、Get または Set ステートメントで制限のレベルを高くします。 混合アクセス レベルを使用すると、コード内の特定の部分がプロパティの値を取得できるようにし、他の特定の部分でその値を変更できるようにすることができます。

アクセス レベルの詳細については、「Visual Basic でのアクセス レベル」を参照してください。

混合アクセス レベルでプロパティを宣言するには

  1. 通常どおりプロパティを宣言し、Property ステートメントで制限の緩いアクセス レベル (Public など) を指定します。

  2. Get または Set プロシージャは、より制限の厳しいアクセス レベル (Friend など) を指定して宣言します。

  3. その他のプロパティ プロシージャではアクセス レベルを指定しません。 Property ステートメントで宣言されたアクセス レベルが使用されます。 アクセスを制限できるのは、プロパティ プロシージャのうち 1 つだけです。

    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 クラスのみです。

参照

処理手順

方法: プロパティを作成する (Visual Basic)

方法: プロパティ プロシージャを呼び出す (Visual Basic)

方法: 既定のプロパティを宣言して呼び出す (Visual Basic)

方法: プロパティに値を格納する (Visual Basic)

方法: プロパティから値を取得する (Visual Basic)

参照

Property ステートメント

概念

Visual Basic におけるプロシージャ

Property プロシージャ (Visual Basic)

プロシージャのパラメーターと引数 (Visual Basic)

Visual Basic のプロパティと変数の違い