如何:声明具有混合访问级别的属性 (Visual Basic)

如果希望在某个属性上的GetSet过程中具有不同的访问级别,可以在Property语句中使用更宽松的级别,在GetSet语句中使用更严格的级别。 如果希望代码的某些部分能够获取属性的值,并且代码的某些其他部分能够更改值,则可以对属性使用混合访问级别。

有关访问级别的详细信息,请参阅 Visual Basic 中的访问级别

声明具有混合访问级别的属性

  1. 以正常方式声明属性,并在语句中Public指定限制较少的访问级别(例如Property)。

  2. 声明 GetSet 过程以指定更严格的访问级别(例如 Friend)。

  3. 不要在其他属性过程中指定访问级别。 它采用 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 类可以设置该值。

另请参阅