通用对象
时间:2020-03-06 14:44:09 来源:igfitidea点击:
我有一个声明如下的类:
Public MustInherit Container(Of T As {New, BaseClass}) Inherits ArrayList(Of T)
我有继承此类的类。
我还有另一个类,必须通过此方法传递实例:
Public Sub LoadCollection(Of T As {BaseClass, New})(ByRef Collection As Container(Of T))
我需要将传入的对象存储在全局变量中,但是我不能简单地声明它:
Private _Container as Collection(Of BaseClass)
声明此对象的语法是什么?
解决方案
它不能是全局变量。容器是一个主意,不是一回事。
正如我们所设计的那样,该想法仅在LoadCollection()内部形成为实际事物。我们需要在该方法之外传达信息。
嗯"集合"是变量名称,而不是类型。我认为这是我们想要的:
Private _Container as Container(Of BaseClass)
同样,ArrayList不是泛型类;它不是通用类。我们不是说Inherits List(of T)吗?
抱歉,暂时没有时间对此进行扩展,但是我认为此链接描述了潜在问题和解决方案。
(我们可能还会发现这很有趣。)