Auf Englisch lesen

Freigeben über


Die in „<typeName>“ definierte Erweiterungsmethode „<methodName>“ weist nicht die gleiche Signatur wie der Delegat „<delegateName>“ auf

Es gibt einen Konflikt zwischen den Signaturen der Erweiterungsmethode und des Delegaten, den Sie verwenden möchten. Die Delegate -Anweisung definiert die Parameter- und Rückgabetypen einer Delegatklasse. Jede Prozedur mit passenden Parametern und Typen sowie passendem Rückgabetyp kann dazu verwendet werden, eine Instanz dieses Delegattyps zu erstellen. Dieser Fehler wird im folgenden Beispiel gemeldet, da die Signatur der Erweiterungsmethode Example nicht mit der Signatur des Delegats Delkompatibel ist.

VB
' Definition of the delegate, with two parameters.  
Delegate Sub Del(ByVal m As Integer, ByVal s As String)  
VB
' Definition of the extension method, with one parameter.  
<Extension()> _  
Sub Example(ByVal s As String)  
    ' Body of the Sub.  
End Sub  
VB
'' This assignment causes the error.  
' Dim exampleDel As Del = AddressOf Example  

Fehler-ID: BC36580

So beheben Sie diesen Fehler

  • Überprüfen Sie, ob der Delegat und die Erweiterungsmethode die gleiche Anzahl von Parametern haben.

  • Überprüfen Sie, ob die Reihenfolge der Parameter im Delegaten und der Erweiterungsmethode gleich ist.

  • Vergleichen Sie den Datentyp jedes einzelnen Delegatparameters mit dem Datentyp des entsprechenden Parameters der Erweiterungsmethode, um sicherzustellen, dass sie kompatibel sind.

Siehe auch