方法 : クラス内にコレクションを定義する
更新 : 2007 年 11 月
クラスにコレクションを追加すると、クラスで使用するオブジェクトのグループを管理できます。最も簡単な方法としては、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 例外をスローします。
タイプ セーフを保証するために、ジェネリック クラスを定義することを推奨します。使用例を含む詳細については、「方法 : タイプ セーフなコレクションの定義」を参照してください。