Nota
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare ad accedere o modificare le directory.
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare a modificare le directory.
Aggiornamento: novembre 2007
Extension method '<methodName>' defined in '<typeName>' does not have the same signature as delegate '<delegateName>'
Le firme del metodo di estensione e del delegato che si sta tentando di utilizzare non corrispondono. L'istruzione Delegate consente di definire i tipi di parametri e i tipi restituiti di una classe delegata. Per creare un'istanza di questo tipo delegato, è possibile utilizzare qualsiasi routine con parametri, tipi e tipi restituiti corrispondenti. Questo errore viene segnalato nell'esempio seguente perché la firma del metodo di estensione Example non è compatibile con la firma del delegato 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 errore: BC36580
Per correggere l'errore
Verificare che il delegato e il metodo di estensione dispongano dello stesso numero di parametri.
Verificare che l'ordine dei parametri sia uguale 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.
Vedere anche
Concetti
Metodi di estensione (Visual Basic)
Conversione di tipo relaxed del delegato