如何:声明具有混合访问级别的属性 (Visual Basic)
如果希望属性的 Get
和 Set
过程具有不同的访问级别,可以在 Property
语句中使用更宽松的级别,在 Get
或 Set
语句中使用更严格的级别。 如果希望代码的某些部分能够获取属性的值,而代码的某些其他部分能够更改该值,可对属性使用混合访问级别。
有关访问级别的详细信息,请参阅 Visual Basic 中的访问级别。
声明具有混合访问级别的属性
以正常方式声明属性,并在
Property
语句中指定限制较少的访问级别(例如Public
)。声明
Get
或Set
过程以指定更严格的访问级别(例如Friend
)。不要在其他属性过程中指定访问级别。 它采用
Property
语句中声明的访问级别。 只能限制对其中一个属性过程的访问。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
类才能设置该值。