我正在将类型参数传递给类。我希望这个类型是一个字典,其键类型为“Date”,值类型可以是任何类型,如下面的类定义所示:
Public Class MyClass(Of T As Dictionary(Of Date, Object))
其中,在上面,'Object'是另一种泛型类型,当声明类的实例时,可能是Integer,String,Widget等。但是,字典中的键必须始终是类型'日期'。例如,以下任何一种都是可以接受的:
Dim classInstance1 as MyClass(Of Dictionary(Of Date, String))
Dim classInstance2 as MyClass(Of Dictionary(Of Date, List(Of Integer)))
但这不会:
Dim classInstance3 as MyClass(Of Dictionary(Of String, Double)
...因为提供给classInstance3的Key类型不是'Date'。
或者,有没有办法做这样的事情:
Public Class MyClass(Of T)
...这样的“T”,对于这个类,总是意味着“Dictionary(Of Date,T)”?
我无法弄清楚如何让它发挥作用 - 非常感谢任何帮助。
答案 0 :(得分:1)
传入第二种泛型类型,可以将其用作词典的值类型:
Public Class YourClass(Of V, T As Dictionary(Of Date, V))
End Class
然后像这样实例化:
Dim objInstanceOfYourClass As New YourClass(Of String, Dictionary(Of Date, String))