方法: 構造体を宣言する (Visual Basic)
Structure ステートメントを使用して構造体宣言を開始し、End Structure
ステートメントで終了します。 これら 2 つのステートメントの間で、少なくとも 1 つの 要素宣言する必要があります。 要素は任意のデータ型にすることができますが、少なくとも 1 つは非共有変数または非共有の非カスタム イベントである必要があります。
構造体宣言で構造体要素を初期化することはできません。 変数を構造体型として宣言する場合は、変数を使用して要素にアクセスして、要素に値を割り当てます。
構造体とクラスの違いの詳細については、「構造体とクラスの」を参照してください。
デモンストレーションの目的で、従業員の名前、内線番号、給与を追跡する必要がある状況を検討します。 構造体を使用すると、1 つの変数でこれを行うことができます。
構造体を宣言するには
構造体の開始ステートメントと終了ステートメントを作成します。
構造のアクセス レベルは、パブリック、Protected、Friend、または Private キーワードを使用して指定することも、既定で
Public
にすることもできます。Private Structure employee End Structure
構造体の本体に要素を追加します。
構造体には、少なくとも 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() ' Method to raise the event Public Sub TriggerSalaryReview() RaiseEvent salaryReviewTime() End Sub End Structure
前の例の
salary
フィールドはPrivate
です。これは、含まれているクラスからでも、構造体の外部からアクセスできないことを意味します。 ただし、giveRaise
プロシージャはPublic
されているため、構造体の外部から呼び出すことができます。 同様に、salaryReviewTime
イベントを発生させる構造体内のメソッドを呼び出すことによって、間接的にイベントを発生させることができます。 例えば:Public Sub TriggerSalaryReview() RaiseEvent salaryReviewTime() End Sub
これにより、構造体の外部から直接イベントにアクセスできないようにしながら、イベントを発生させる方法とタイミングを制御できます。
変数、
Sub
プロシージャ、およびイベントに加えて、構造体の定数、Function
プロシージャ、およびプロパティを定義することもできます。 少なくとも 1 つの引数を受け取る場合は、の既定のプロパティとして最大 1 つのプロパティを指定できます。 SharedSub
プロシージャを使用してイベントを処理できます。 詳細については、「方法: Visual Basicで既定のプロパティを宣言および呼び出す」を参照してください。
関連項目
.NET