我可以使用什么作为List的通用,所以我可以在vb.net中更改列表中的类型

时间:2012-09-18 10:57:49

标签: vb.net

所以我现在有

class general
private list as List(Of string) 

public overridable function getprivateList as <not sure what to put>
    return list
end function
end class

class specific inherits general
private list as List(Of listofstrings)

end class

但我无法弄清楚用作界面的内容。 因此getprivateList方法能够返回列表的两个变体,具体取决于实现类。

1 个答案:

答案 0 :(得分:2)

您可以返回IEnumerableICollectionIListIEnumerable功能最少,IList功能最多。

Class General
    Private list As List(Of String) 

    Public Overridable Function GetPrivateList() As IList
        Return list
    End Function
End Class

Class Specific 
    Inherits General
    Private list As List(Of Integer)
End Class

或者,您可以将基类定义为采用列表项类型的泛型类:

Class General(Of T)
    Private list As List(Of T) 

    Public Overridable Function GetPrivateList() As List(Of T)
        Return list
    End Function
End Class

Class Specific 
    Inherits General(Of Integer)
End Class