方法: 構造体を宣言する (Visual Basic)

構造体宣言は、Structure ステートメントで始まり、End Structure ステートメントで終了します。 これら 2 つのステートメントの間には、少なくとも 1 つの "要素" を宣言する必要があります。 要素は任意のデータ型にすることができますが、少なくとも 1 つは非共有変数または非共有非カスタム イベントのいずれかである必要があります。

構造体宣言で構造体の要素を初期化することはできません。 変数を構造体型として宣言するときは、変数を使用して値にアクセスすることによって、要素に値を代入します。

構造体とクラスの違いについては、「構造体とクラス」を参照してください。

デモンストレーションとして、従業員の名前、内線電話番号、給与を追跡するケースについて考えてみましょう。 構造体を使用すると、1 つの変数でこれを行うことができます。

構造体を宣言するには

  1. 構造体の開始と終了のステートメントを作成します。

    構造体のアクセス レベルを、PublicProtectedFriend、または Private キーワードを使用して指定できます。あるいは、既定で Public にすることもできます。

    Private Structure employee  
    End Structure  
    
  2. 構造体の本体に要素を追加します。

    構造体には要素が少なくとも 1 つ必要です。 すべての要素を宣言し、そのアクセス レベルを指定する必要があります。 キーワードを指定せずに 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()  
    End Structure  
    

    前の例の salary フィールドは Private です。つまり、構造体の外部からはアクセスできないことを意味します。それが含まれているクラスからでもできません。 ただし、giveRaise プロシージャは Public であるため、構造体の外部から呼び出すことができます。 同様に、構造体の外部から salaryReviewTime イベントを発生させることもできます。

    変数、Sub プロシージャ、およびイベントに加えて、構造体に定数、Function プロシージャ、およびプロパティを定義することもできます。 最大 1 つのプロパティを "既定プロパティ" として指定できます (そのプロパティが少なくとも 1 つの引数を取る場合)。 共有Sub プロシージャを使用してイベントを処理できます。 詳細については、「方法:既定のプロパティを宣言して呼び出す (Visual Basic)」を参照してください。

関連項目