vb.net - using system.collections.generic para que sirve
VB.NET colección Strong-typed (2)
¿Por qué no usa una List(Of Foo)
... ya está en VB.NET en System.Collections.Generic
? Para usar, simplemente declarar como tal:
Private myList As New List(Of Foo) ''Creates a Foo List''
Private myIntList As New List(Of Integer) ''Creates an Integer List''
Consulte MSDN > List(T) Class (System.Collections.Generic)
para obtener más información.
Quiero crear una colección en VB.NET, pero solo quiero que acepte objetos de cierto tipo. Por ejemplo, quiero crear una clase llamada "FooCollection" que actúa como una colección en todos los sentidos, pero solo acepta objetos de tipo "Foo".
Pensé que podría hacer esto usando genéricos, usando la siguiente sintaxis:
Public Class FooCollection(Of type As Foo)
Inherits CollectionBase
...
End Class
Pero me sale un error cuando lo compilo y digo que "debo implementar un acceso por defecto", por lo que claramente falta algo. No deseo especificar el tipo que acepta cuando instalo. Quiero que el FooCollection sea específico para que solo acepte objetos Foo. Lo he visto hecho en C # con una lista fuerte, así que tal vez todo lo que estoy buscando es la sintaxis de VB.NET.
¡Gracias por tu ayuda!
EDITAR: Gracias por la respuesta. Eso lo haría, pero quería que el classtype se llamara de cierta manera, en realidad logré exactamente lo que estaba buscando con el siguiente código:
Public Class FooCollection
Inherits List(Of Foo)
End Class
Necesitabas implementar una propiedad predeterminada para la colección como esta:
Default Public Property Item(ByVal Index As Integer) As Foo
Get
Return CType(List.Item(Index), Foo)
End Get
Set(ByVal Value As Foo)
List.Item(Index) = Value
End Set
Terminar propiedad