考虑以下场景:
Public Class Condition(Of T)
'...
End Class
现在,我创建了这个类的几个不同类型的实例。我现在希望用这些实例填充一个通用列表。就像是:
Dim Conditions As New List(Of Condition....?)
Conditions.add(new Condition(Of String))
Conditions.add(new Condition(Of Double))
Conditions.add(new Condition(Of CustomClass))
做这个的最好方式是什么?现在我正在做以下事情:
Public Class Condition(Of T)
implements ICondition
'...
End Class
并像这样使用它:
Dim Conditions As New List(Of ICondition)
Conditions.add(new Condition(Of String))
Conditions.add(new Condition(Of Double))
Conditions.add(new Condition(Of CustomClass))
但是,ICondition 完全是空的。这让我认为可能有更好或更可接受的方式来处理事情。我也可以从一个空的基类继承,那会更好吗?做这种事情的首选方法是什么?
我知道只要包含泛型的列表属于更广泛的类型,我就可以插入任何类型的条件。但是,我不想让它超出必要的范围 - 我只想能够插入作为 实例的对象Public Class Condition(Of T)
,但其类型可能会有所不同。