Of
更新 : 2007 年 11 月
Of 句を使用すると、ジェネリックであるクラス、構造体、インターフェイス、デリゲート、またはプロシージャに型パラメータを定義できます。ジェネリック型の詳細については、「Visual Basic におけるジェネリック型」を参照してください。
Of キーワードの使用方法
次のコード例は、キーワード Of を使って、2 つの型パラメータを受け取るクラスのアウトラインを定義します。IComparable インターフェイスによって、keyType パラメータに 制約 が指定されています。そのため、このクラスを使用するコードは、IComparable を実装する型引数を渡す必要があります。これは、add プロシージャが IComparable.CompareTo メソッドを呼び出すために必要です。制約の詳細については、「型リスト」を参照してください。
Public Class Dictionary(Of entryType, keyType As IComparable)
Public Sub add(ByVal e As entryType, ByVal k As keyType)
Dim dk As keyType
If k.CompareTo(dk) = 0 Then
End If
End Sub
Public Function find(ByVal k As keyType) As entryType
End Function
End Class
上記のクラス定義を作成すると、そこからさまざまな dictionary クラスが作成できます。entryType と keyType に指定する型によって、クラスが保持するエントリの型と、クラスが各エントリに関連付けるキーの型が決まります。制約が定義されているため、keyType には IComparable を実装する型を指定する必要があります。
次のコード例は、文字列 (String) のエントリを保持するオブジェクトを作成し、各エントリに整数 (Integer) のキーを関連付けます。Integer は IComparable を実装しているため、keyType に対する制約を満たします。
Dim d As New dictionary(Of String, Integer)
キーワード Of は、次の構文で使用します。