Lire en anglais

Partager via


Arguments de type inattendus

Une clause Implements fournit des arguments de type pour le membre d’interface qu’elle implémente.

La clause Implements doit identifier uniquement l’interface et le membre qu’elle implémente. Cela signifie que si vous déclarez une procédure générique, la clause Of et les arguments de type doivent apparaître dans la partie principale de la déclaration, comme ce serait le cas si vous n’implémentiez pas une procédure d’interface.

Le code suivant peut générer cette erreur.

Public Interface testInterface  
    Sub testSub(Of t)()  
End Interface  
Public Class testClass  
    Implements testInterface  
    Public Sub testSub() Implements testInterface.testSub(Of t)()  
    End Sub  
End Class  

La déclaration qui précède la clause Implements doit ressembler à la définition d’interface, à l’exception d’éventuels modificateurs d’accès ou de procédure. Le code suivant permet d’éviter cette erreur.

Public Sub testSub(Of t)() Implements testInterface.testSub  

ID d’erreur : BC32088

Pour corriger cette erreur

  • Supprimez la liste d’arguments de type de la clause Implements .

  • Si vous implémentez un membre générique de l’interface, placez la liste d’arguments de type dans la partie principale de la déclaration, avant le mot clé Implements .

Voir aussi