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".VB.NET Colección Strong-typed
pensé que podía hacerlo utilizando los genéricos, utilizando la siguiente sintaxis:
Public Class FooCollection(Of type As Foo)
Inherits CollectionBase
...
End Class
Pero me da un error cuando compilo lo que yo "debe aplicar un descriptor de acceso por defecto", por lo que es evidente que hay algo que falta. No deseo especificar el tipo que acepta cuando instalo. Quiero que el FooCollection sea específico y 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 su ayuda!
EDIT: Gracias por la respuesta. Que lo haría, pero yo quería tener el ClassType llamado 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
Depende de lo que está haciendo. La lista está pensada para uso interno dentro del código de la aplicación. Debería evitar escribir API públicas que acepten o devuelvan List --considerando usar una superclase o una interfaz de colección en su lugar. –