vb.net 2.0フレームワークで汎用タイプのリストを作成しようとしています。 これは、ジェネリック型の定義である:汎用タイプの汎用リストの作成
----------
Public Class GenericParamMap(Of T)
Public Sub New(ByVal pParamName As String, ByVal pPropValue As T)
mParamName = pParamName
mPropValue = pPropValue
End Sub
Public Property ParamName() As String
Get
Return mParamName
End Get
Set(ByVal Value As String)
mParamName = Value
End Set
End Property
Private mParamName As String
Public Property PropValue() As T
Get
Return mPropValue
End Get
Set(ByVal Value As T)
mPropValue = Value
End Set
End Property
Private mPropValue As T
End Class
----------
そして、ここでGenericParamMapのリストを使用する方法は、パラメータとして渡されます。
Public Sub PopulateParamMap(ByVal pMap As List(Of GenericParamMap(Of T))
pMap.Add(New GenericParamMap(Of Integer)("@region_id", RegionId))
pMap.Add(New GenericParamMap(Of String)("@bus_addr1", BusAddress1))
pMap.add(New GenericParamMap(Of Boolean)("@active_flag", ActiveFlag))
End Sub
----------
コンパイラが許可されていません「T」でメソッドのパラメータは定義されていないためですが、定義する方法や場所がわかりません。私はジェネリックメソッド定義を持つことが大丈夫だと思った。誰にもアイデアはありますか? おかげ
サイドノード: 'GenericParamMap'がこれの正しい名前であるかどうかはわかりません。 A * map *は通常キーを値にマップするので、 'List(Of ...)'は個々のエントリではなく* map *と呼ばれることがあります。 'GenericParamMap'は、*タプル*なので、それを' GenericTuple'または 'GenericParamMapEntry'と呼ぶかもしれません。 – Heinzi