Metoda rozšíření methodName definovaná v< typeName>> nemá stejný podpis jako delegát< delegatename>.<

Mezi podpisy metody rozšíření a delegátem, který se pokoušíte použít, došlo k neshodě. Příkaz Delegate definuje typy parametrů a návratové typy třídy delegáta. Jakýkoli postup s odpovídajícími parametry, typy a návratovými typy lze použít k vytvoření instance tohoto typu delegáta. Tato chyba je hlášena v následujícím příkladu, protože podpis rozšiřující metody Example není kompatibilní s podpisem delegáta Del.

' 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  

ID chyby: BC36580

Oprava této chyby

  • Ověřte, že delegát a metoda rozšíření mají stejný počet parametrů.

  • Ověřte, že pořadí parametrů je stejné v delegátu a metodě rozšíření.

  • Porovnejte datový typ každého parametru delegáta s datovým typem odpovídajícího parametru metody rozšíření, abyste měli jistotu, že jsou kompatibilní.

Viz také