通用对象

时间:2008-09-25 17:32:40

标签: vb.net generics

我有一个声明如下的类:

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)

声明此对象的语法是什么?

3 个答案:

答案 0 :(得分:2)

很抱歉没有时间对此进行扩展,但我认为this link描述了您的根本问题和解决方案。

(您可能还会发现this很有趣。)

答案 1 :(得分:0)

它不能是一个全局变量。容器是一个想法,而不是一件事。

正如你设计的那样,这个想法只在LoadCollection()中形成一个实际的东西。您需要在该方法之外传达信息。

答案 2 :(得分:0)

嗯。 “Collection”是变量名,而不是Type。我想这就是你想要的:

Private _Container as Container(Of BaseClass)

此外,ArrayList不是Generic类;你的意思是继承 列表 (T)?