共用方式為


Visual Basic 6.0 使用者可以進行的屬性程序變更

更新:2007 年 11 月

為了簡化及與其他程式設計語言的互通性 (Interoperability),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