【发布时间】:2011-06-30 16:45:17
【问题描述】:
我正在尝试在 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是否是正确的名称。 map 通常将键映射到值,因此您的List(Of ...)可以称为 map,而不是单个条目。你所说的GenericParamMap只是一个元组,所以你可以称它为GenericTuple或GenericParamMapEntry。