Die Signatur der '<Methodenname>'-Methode ist mit dem Delegaten '<Delegatname>' nicht kompatibel

Aktualisiert: November 2007

Method '<methodname>' does not have a signature compatible with delegate <'delegatename'>

Dieser Fehler tritt auf, wenn eine Konvertierung zwischen einer Methode und einem Delegaten erforderlich ist, die nicht ausgeführt werden kann. Die Fehlerursache kann eine Konvertierung zwischen Parametern sein oder Konvertierungen der zurückgegebenen Werte, wenn die Methode und der Delegat Funktionen sind.

Im folgenden Code werden fehlgeschlagene Konvertierungen veranschaulicht. Der Delegat ist FunDel.

Delegate Function FunDel(ByVal i As Integer, ByVal d As Double) As Integer

Jede der folgenden Funktionen weist eine Abweichung zu FunDel auf, durch die dieser Fehler verursacht wird.

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

Jede der folgenden Zuweisungsanweisungen verursacht den Fehler.

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

Fehler-ID: BC31143

So beheben Sie diesen Fehler

  • Untersuchen Sie die entsprechenden Parameter und, falls vorhanden, die Rückgabetypen, um das nicht kompatible Paar zu ermitteln.

Siehe auch

Konzepte

Gelockerte Delegatenkonvertierung

Delegaten und der AddressOf-Operator