プロパティの 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