La méthode '<NomMéthode>' n'a pas de signature compatible avec le délégué '<NomDélégué>'
Mise à jour : novembre 2007
Method '<methodname>' does not have a signature compatible with delegate <'delegatename'>
Cette erreur se produit lorsqu'une conversion impossible est requise entre une méthode et un délégué. La cause de l'erreur peut être la conversion entre des paramètres ou, lorsque la méthode et le délégué sont des fonctions, la conversion dans les valeurs de retour.
Le code suivant illustre des conversions non réussies. Le délégué est FunDel.
Delegate Function FunDel(ByVal i As Integer, ByVal d As Double) As Integer
Les fonctions suivantes diffèrent chacune de FunDel, ce qui génère cette erreur.
Function ExampleMethod1(ByVal m As Integer, ByVal aDate As Date) As Integer
End Function
Function ExampleMethod2(ByVal m As Integer, ByVal aDouble As Double) As Date
End Function
Chacune des instructions d'assignation suivantes provoque l'erreur.
Sub Main()
' The second parameters of FunDel and ExampleMethod1, Double and Date,
' are not compatible.
'Dim d1 As FunDel = AddressOf ExampleMethod1
' The return types of FunDel and ExampleMethod2, Integer and Date,
' are not compatible.
'Dim d2 As FunDel = AddressOf ExampleMethod2
End Sub
ID d'erreur : BC31143
Pour corriger cette erreur
- Examinez les paramètres correspondants et, s'ils sont présents, les types de retour, afin de déterminer quelle paire n'est pas compatible.