VB2005を使うことになり、いろいろ調べていたのですが、その中で気になった機能にジェネリックが あります。
ジェネリックを見て最初にイメージしたものは、C++のSTL(スタンダード・テンプレート・ライブラリ)です。
記述方法は違うものの、考え方はSTLと同じようです。
ジェネリックは、型に依存しない設計で、実際に使うときに型を指定します。例えば、同じ処理を行うために それぞれの型用にクラスを作成するのではなく、汎用的なクラスにあとから型を充てこみます。
よく使うと思われるList(ジェネリッククラス)を使ってみます。
Dim lst As New List(Of String)
lst.Add("bnote")
lst.Add("bbb")
lst.Add("hoge")
Dim strBuff as String
strBuff = lst.item(0)
' strBuff = lst(0)
ArrayListを使用するとObject型で返されるためキャストします。 しかし、ジェネリックの場合指定した型(上記例の場合、String)として返されるためキャストする必要がありません。
次の例は、ArrayListを使った場合です。
Dim lst As New ArrayList
lst.Add("bnote")
lst.Add("bbb")
lst.Add("hoge")
Dim strBuff as String
strBuff = DirectCast(lst.item(0),String)
' strBuff = DirectCast(lst(0),String)
Copyright 1997-2008 BBB All rights reserved.