Leggere in inglese

Condividi tramite


Il metodo di estensione '<methodName>' definito in '<typeName>' non ha la stessa firma del delegato '<delegateName>'

Le firme del metodo di estensione e il delegato che si sta provando a usare non corrispondono. L'istruzione Delegate definisce i tipi di parametro e i tipi restituiti di una classe delegata. Qualsiasi routine con parametri, tipi e tipi restituiti corrispondenti può essere usata per creare un'istanza di questo tipo di delegato. Nell'esempio seguente viene segnalato questo errore perché la firma del metodo di estensione Example non è compatibile con la firma del delegato Del.

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  

ID errore: BC36580

Per correggere l'errore

  • Verificare che il delegato e il metodo di estensione abbiano lo stesso numero di parametri.

  • Verificare che l'ordine dei parametri sia lo stesso nel delegato e nel metodo di estensione.

  • Confrontare il tipo di dati di ogni parametro del delegato con il tipo di dati del parametro del metodo di estensione corrispondente per assicurarsi che siano compatibili.

Vedi anche