属性过程更改(针对 Visual Basic 6.0 用户)

更新:2007 年 11 月

Visual Basic 2008 更新了属性过程和参数的声明,旨在简化操作并提供与其他编程语言的互操作性。

Visual Basic 6.0

Visual Basic 6.0 使用 Property Get、Property Let 和 Property Set 语句获取和设置属性值。

您可以将属性参数声明为 ByRef。将变量传递给此类参数允许过程在调用代码中更改该变量。

Visual Basic 2008

Visual Basic 2008 引入了统一的属性声明语法,其中包括获取和设置属性值的过程。这保证了属性 (Property) 属性 (Attribute) 的一致性,例如访问级别和重载。下面的示例演示一个不带参数的属性声明。

Private monthNum As Integer = 1
Property month() As Integer
    Get
        Return monthNum
    End Get
    Set(ByVal Value As Integer)
        If Value < 1 Or Value > 12 Then
            ' Error processing for invalid value. 
        Else
            monthNum = Value
        End If
    End Set
End Property

您可以为用于 Set 的参数使用任意的名称。如果未提供参数,则会自动生成 Value。

这一语法更改使得 Property Get 和 Property Set 语句不再必要,它们不再受支持。因为 Visual Basic 2008 不允许使用不带参数的默认属性,所以不需要使用 Property Let 和 Property Set 来区分要分配对象引用还是默认属性。因此,也不支持 Property Let 语句。

Visual Basic 2008 不支持 ByRef 属性参数。如果属性过程具有 ByRef 参数并更改了构成相应参数的变量,则该属性可能具有不可预知的行为。因此,所有参数化属性声明都必须为参数指定 ByVal。

请参见

概念

默认属性更改(针对 Visual Basic 6.0 用户)

编程元素支持更改总结

参考

ByVal