属性过程更改(针对 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 用户)