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 Del
kompatibel ist.
' Definition of the delegate, with two parameters.
Delegate Sub Del(ByVal m As Integer, ByVal s As String)
' Definition of the extension method, with one parameter.
<Extension()> _
Sub Example(ByVal s As String)
' Body of the Sub.
End Sub
'' This assignment causes the error.
' Dim exampleDel As Del = AddressOf Example
Fehler-ID: BC36580
Ü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.
Feedback zu .NET
.NET ist ein Open Source-Projekt. Wählen Sie einen Link aus, um Feedback zu geben: