Partager via


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.

Voir aussi

Concepts

Conversion simplifiée des délégués

Délégués et opérateur AddressOf