Partilhar via


Nenhum método acessível '<procedurename>' tem uma assinatura compatível com delegado '<delegatename>': <suberrorlist>

Uma demonstrativo de atribuição atribui o endereço de um procedimento para uma variável do delegado, mas o compilador não encontrou uma versão do procedimento com uma assinatura correspondente.

Quando o código usa o endereço de um procedimento, o compilador tenta encontrar uma versão desse procedimento com uma lista de parâmetros que corresponde ao que o delegado.Se o procedimento é definido em várias versões sobrecarregadas, o compilador tenta localizar uma versão única com uma assinatura correspondente.Para obter mais informações, consulte Resolução de Sobrecarregamento.

Se o compilador não conseguir localizar qualquer versão do procedimento com uma assinatura correspondente, ele gera este erro.Isso pode acontecer, por exemplo, se o procedimento ou o delegado é genérico e um argumento de tipo é passado para ele concede a ele uma assinatura não coincide com a Outros assinatura.

ID de erro: BC30950

Para corrigir este erro

  1. Redefinir o delegado ou o procedimento para que eles tenham correspondência parâmetro lista.

    - ou -

    Definir um novo delegado com uma lista de parâmetros correspondentes que o procedimento ou definir um novo procedimento com uma lista de parâmetros que o delegado de correspondência.

  2. Se o procedimento ou o delegado for genérico, em seguida, passe para ele um argumento de tipo que faz com que sua assinatura corresponder a Outros assinatura.

Consulte também

Conceitos

Delegados e o operador AddressOf

Resolução de Sobrecarregamento

Tipos genéricos no Visual Basic

Referência

Operador AddressOf

Instrução Delegate