方法: アクセス レベルの組み合わせを使用してプロパティを宣言する (Visual Basic)

プロパティに対する Get プロシージャと Set プロシージャに異なるアクセス レベルを設定する場合は、Property ステートメントで制限の少ないレベルを使用し、Get または Set ステートメントでより制限の厳しいレベルを使用できます。 コードの特定の部分でプロパティの値を取得できるようにし、コードの他の特定の部分で値を変更できるようにする場合は、そのプロパティに対してアクセス レベルの組み合わせを使用します。

アクセス レベルの詳細については、「Access Levels in Visual Basic (Visual Basic でのアクセス レベル)」をご覧ください。

アクセス レベルの組み合わせを使用してプロパティを宣言するには

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

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

  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 クラスだけです。

関連項目