次の方法で共有


方法: アクセス レベルが混在するプロパティを宣言する (Visual Basic)

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

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

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

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

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

こちらも参照ください