如何宣告結構(Visual Basic)
您會使用 Structure Statement開始結構宣告,並以 End Structure
語句結尾。 在這兩個語句之間,您必須至少定義一個 元素。 元素可以是任何數據類型,但至少一個必須是非共用變數或非共用的非自定義事件。
您無法初始化結構宣告中的任何結構專案。 當您宣告變數為結構類型時,您可以透過 變數存取這些值,將值指派給元素。
如需結構與類別之間差異的討論,請參閱 結構和類別。
基於示範目的,請考慮您想要追蹤員工姓名、電話分機和薪資的情況。 結構可讓您在單一變數中執行這項作。
宣告結構
建立結構的開頭和結尾語句。
您可以使用 Public、Protected、Friend或 Private 關鍵字來指定結構的存取層級,或者您可以讓它預設為
Public
。Private Structure employee End Structure
將元素新增至結構體的主體。
結構必須至少有一個元素。 您必須宣告每個元素,併為其指定存取層級。 如果您使用 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 中宣告和呼叫預設屬性。