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