Ler em inglês

Compartilhar via


O método '<methodname>' não tem uma assinatura compatível com o delegado <'delegatename'>

Esse erro ocorre quando uma conversão é necessária entre um método e um delegado que não é possível. A causa do erro pode ser a conversão entre parâmetros ou, quando o método e o delegado são funções, a conversão nos valores retornados.

O código a seguir ilustra conversões com falha. O delegado é FunDel.

VB
Delegate Function FunDel(ByVal i As Integer, ByVal d As Double) As Integer  

Cada uma das funções a seguir difere de FunDel de uma forma que causará esse erro.

VB
Function ExampleMethod1(ByVal m As Integer, ByVal aDate As Date) As Integer  
End Function  
  
Function ExampleMethod2(ByVal m As Integer, ByVal aDouble As Double) As Date  
End Function  

Cada uma das instruções de atribuição a seguir causa o erro.

VB
Sub Main()  
    ' The second parameters of FunDel and ExampleMethod1, Double and Date,  
    ' are not compatible.  
    'Dim d1 As FunDel = AddressOf ExampleMethod1  
  
    ' The return types of FunDel and ExampleMethod2, Integer and Date,  
    ' are not compatible.  
    'Dim d2 As FunDel = AddressOf ExampleMethod2  
  
End Sub  

ID do erro: BC31143

Para corrigir este erro

  • Examine os parâmetros correspondentes e, se eles estiverem presentes, retorne tipos para determinar qual par não é compatível.

Confira também