方法: クラス内にコレクションを定義する (Visual Basic)

クラスにコレクションを追加すると、クラスで使用するオブジェクトのグループを管理できます。 最も簡単な方法としては、Collection 型のパブリック変数をクラスに追加します。 たとえば、widget オブジェクトを管理および公開する widgetRepository というクラスがあるとします。 次の手順で説明するように、widget コレクションを参照する widgetColl 変数を作成できます。

簡単なコレクションを定義する

クラス内に簡単なコレクションを定義するには

  • オブジェクトのコレクションとして動作するパブリック変数を作成します。

    Public Class widgetRepository
        Public widgetColl As New Microsoft.VisualBasic.Collection()
        ' Insert code to implement additional functionality.
    End Class
    

    これで、widgetRepository クラスに、widget オブジェクトを追加するためのパブリック コレクションができました。 次のコードに示すように、For Each...Next ステートメント (Visual Basic) を使用してコレクション要素を処理できます。

    For Each aWidget As widget In widgetColl
        ' Insert code to process widgetColl elements
    Next aWidget
    

    上の例で定義した widgetColl コレクションでは、厳密な型指定が行われません。つまり、widget オブジェクトだけでなく、任意の型のオブジェクトをコレクションに追加できます。 このことは、タイプ セーフの問題につながる可能性があります。 たとえば、次のコードのように、String 型の変数をコレクションに追加するとします。

    Dim notWidget As String = "This is not a widget object!"
    widgetColl.Add(notWidget)
    

    これを実行すると、コレクションの要素の 1 つが widget 型ではないため、前のプロシージャの For Each ループは、実行時に ArgumentException 例外をスローします。

    タイプ セーフを保証するために、ジェネリック クラスを定義することを推奨します。 詳細および使用例については、「方法: タイプ セーフなコレクションの定義 (Visual Basic)」を参照してください。

参照

処理手順

方法: タイプ セーフなコレクションの定義 (Visual Basic)

参照

Collection

Option Strict ステートメント

概念

Visual Basic におけるコレクション

Visual Basic におけるジェネリック型 (Visual Basic)