Le membre '<NomClasse>.<NomProcédure>' qui correspond à cette signature ne peut pas être substitué, car la classe '<NomClasse>' contient plusieurs membres avec le même nom et la même signature : <ListeSignatures>
Mise à jour : novembre 2007
Member '<classname>.<procedurename>' that matches this signature cannot be overridden because the class '<classname>' contains multiple members with this same name and signature: <signaturelist>
Une procédure ou une propriété tente de substituer une procédure ou une propriété héritée, mais le compilateur détecte plusieurs versions de la procédure ou de la propriété de base contenant le même nom et la même signature.
Cette erreur peut se produire dans le cas de types génériques construits, comme l'illustre le squelette des déclarations ci-après.
Public Class baseClass(Of t)
Public Overridable Sub doSomething(ByVal inputValue As String)
End Sub
Public Overridable Sub doSomething(ByVal inputValue As t)
End Sub
End Class
Public Class derivedClass
Inherits baseClass(Of String)
Overrides Sub doSomething(ByVal inputValue As String)
End Sub
End Class
Étant donné que derivedClass hérite de baseClass qui fournit String à son paramètre de type t, les deux versions de doSomething dans baseClass acceptent des signatures identiques pour derivedClass. En conséquence, le compilateur ne peut pas déterminer la version à substituer.
ID d'erreur : BC30935
Pour corriger cette erreur
Modifiez le ou les arguments de type fournis à la classe de base afin qu'il n'existe pas une ou plusieurs signatures identiques des procédures ou des propriétés membres.
- ou -
Si vous devez hériter de la classe de base le jeu de types d'arguments que vous utilisez, ne substituez pas la procédure ou la propriété mentionnée dans ce message d'erreur.
Voir aussi
Concepts
Substitution de propriétés et de méthodes