我将一个类型参数传递给一个类。我想这种类型是一个辞典“日期”和值类型的密钥类型,可以是任何东西,如下面的类定义:词典参数 - 强类型键,泛型值?
Public Class MyClass(Of T As Dictionary(Of Date, Object))
其中,在上面的,“对象”是另一个泛型类型,当声明类的一个实例时,它可能是一个Integer,String,Widget等。但是,字典中的键必须始终为'Date'类型。例如,以下任何一种情况是可以接受的:
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密钥类型不是“日期”。
或者,是有办法做这样的事情:
Public Class MyClass(Of T)
......这样“T”,对于这个类,永远意味着“字典(日期,T)”?
我不知道如何让这个工作 - 任何帮助将非常感激。
为什么你需要提及'Dictionary'在无论如何,类型定义?你只需要'公共类MyClass(Of T)',然后是'Dictionary(Of Date,T)'类型的私有变量。 – GSerg
谢谢,好主意。当我尝试实施时,如下所示,由于某种原因不起作用: –
那么究竟是什么原因呢? – GSerg