如何:声明具有混合访问级别的属性 (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 类可以对它进行设置。
请参见
任务
如何:调用 Property 过程 (Visual Basic)