プロパティの Get
プロシージャと Set
プロシージャに異なるアクセス レベルを設定する場合は、 Property
ステートメントでより制限の厳しいレベルを使用し、 Get
または Set
ステートメントでより制限の厳しいレベルを使用できます。 コードの特定の部分がプロパティの値を取得できるようにし、コードの他の特定の部分で値を変更できるようにする場合は、プロパティに対して混合アクセス レベルを使用します。
アクセス レベルの詳細については、「 Visual Basic のアクセス レベル」を参照してください。
アクセス レベルが混在するプロパティを宣言するには
通常の方法でプロパティを宣言し、
Public
ステートメントで制限の緩いアクセス レベル (Property
など) を指定します。より制限の厳しいアクセス レベル (
Get
など) を指定するSet
またはFriend
プロシージャを宣言します。他のプロパティ プロシージャでアクセス レベルを指定しないでください。
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
クラスだけです。
こちらも参照ください
.NET