Je veux créer une collection dans VB.NET, mais je veux seulement qu'elle accepte des objets d'un certain type. Par exemple, je veux créer une classe appelée "FooCollection" qui agit comme une collection dans tous les sens, mais n'accepte que les objets de type "Foo".VB.NET Collection fortement typée
Je pensais que je pouvais le faire à l'aide de médicaments génériques, en utilisant la syntaxe suivante:
Public Class FooCollection(Of type As Foo)
Inherits CollectionBase
...
End Class
Mais je reçois une erreur quand je le compiler que je « doit mettre en œuvre un accesseur par défaut », si bien qu'il ya quelque chose qui manque. Je ne veux pas spécifier le type qu'il accepte quand j'instancie - Je veux que FooCollection lui-même soit spécifique pour accepter uniquement les objets Foo. Je l'ai vu en C# avec une liste typée, donc tout ce que je recherche est la syntaxe VB.NET.
Merci pour votre aide!
EDIT: Merci pour la réponse. Ce serait le faire, mais je voulais avoir le nom classtype d'une certaine façon, je fait accompli exactement ce que je cherchais avec le code suivant:
Public Class FooCollection
Inherits List(Of Foo)
End Class
Cela dépend de ce qu'il fait. La liste est destinée à un usage interne dans le code de l'application. Vous devez éviter d'écrire des API publiques qui acceptent ou renvoient la liste - à la place, utilisez une superclasse ou une interface de collection. –