共用方式為


如何宣告結構(Visual Basic)

您會使用 Structure Statement開始結構宣告,並以 End Structure 語句結尾。 在這兩個語句之間,您必須至少定義一個 元素。 元素可以是任何數據類型,但至少一個必須是非共用變數或非共用的非自定義事件。

您無法初始化結構宣告中的任何結構專案。 當您宣告變數為結構類型時,您可以透過 變數存取這些值,將值指派給元素。

如需結構與類別之間差異的討論,請參閱 結構和類別

基於示範目的,請考慮您想要追蹤員工姓名、電話分機和薪資的情況。 結構可讓您在單一變數中執行這項作。

宣告結構

  1. 建立結構的開頭和結尾語句。

    您可以使用 PublicProtectedFriendPrivate 關鍵字來指定結構的存取層級,或者您可以讓它預設為 Public

    Private Structure employee  
    End Structure  
    
  2. 將元素新增至結構體的主體。

    結構必須至少有一個元素。 您必須宣告每個元素,併為其指定存取層級。 如果您使用 Dim 陳述式 不含任何關鍵字,存取權限預設為 Public

    Private Structure employee  
        Public givenName As String  
        Public familyName As String  
        Public phoneExtension As Long  
        Private salary As Decimal  
        Public Sub giveRaise(raise As Double)  
            salary *= raise  
        End Sub  
        Public Event salaryReviewTime()  
    
        ' Method to raise the event
        Public Sub TriggerSalaryReview()
            RaiseEvent salaryReviewTime()
        End Sub
    End Structure  
    

    上述範例中的 salary 字段是 Private,這表示即使來自包含類別,也無法在 結構外部存取。 不過,giveRaise 程序是 Public,因此可以從結構外部呼叫。 同樣地,您可以藉由在引發 salaryReviewTime 事件的結構中呼叫 方法,間接引發 salaryReviewTime 事件。 例如:

    Public Sub TriggerSalaryReview()
        RaiseEvent salaryReviewTime()
    End Sub
    

    這可讓您控制引發事件的方式和時間,同時讓事件無法直接從結構外部存取。

    除了變數、Sub 程式和事件之外,您也可以在 結構中定義常數、Function 程式和屬性。 您最多可以將一個屬性指定為預設屬性 ,前提是它至少需要一個自變數。 您可以使用 共用Sub 程式來處理事件。 如需詳細資訊,請參閱 如何:在 Visual Basic 中宣告和呼叫預設屬性

另請參閱