Nenhum método acessível ' <procedurename> ' tem uma assinatura compatível com o delegado ' <delegatename> ':<suberrorlist>No accessible method '<procedurename>' has a signature compatible with delegate '<delegatename>':<suberrorlist>

Uma instrução de atribuição atribui o endereço de um procedimento a uma variável de delegado, mas o compilador não pode encontrar uma versão do procedimento com uma assinatura correspondente.An assignment statement assigns the address of a procedure to a delegate variable, but the compiler cannot find a version of the procedure with a matching signature.

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 à do delegado.When code uses the address of a procedure, the compiler tries to find a version of that procedure with a parameter list that matches that of the delegate. Se o procedimento for definido em várias versões sobrecarregadas, o compilador tentará encontrar uma única versão com uma assinatura correspondente.If the procedure is defined in several overloaded versions, the compiler tries to find a single version with a matching signature. Para obter mais informações, consulte sobrecarga de resolução.For more information, see Overload Resolution.

Se o compilador não puder localizar nenhuma versão do procedimento com uma assinatura correspondente, ele gerará esse erro.If the compiler cannot find any version of the procedure with a matching signature, it generates this error. Isso pode acontecer, por exemplo, se o procedimento ou o delegado é genérico e um argumento de tipo é passado a ele que fornece uma assinatura que não corresponde à outra assinatura.This can happen, for example, if either the procedure or the delegate is generic and a type argument is passed to it that gives it a signature that does not match the other signature.

ID do erro: BC30950Error ID: BC30950

Para corrigir este erroTo correct this error

  1. Redefina o procedimento ou o delegado para que eles tenham listas de parâmetros correspondentes.Redefine either the procedure or the delegate so that they have matching parameter lists.

    -ou--or-

    Defina um novo delegado com uma lista de parâmetros que corresponda ao do procedimento ou defina um novo procedimento com uma lista de parâmetros correspondente à do delegado.Define a new delegate with a parameter list matching that of the procedure, or define a new procedure with a parameter list matching that of the delegate.

  2. Se o procedimento ou o delegado for genérico, passe-o um argumento de tipo que faz com que sua assinatura corresponda à outra assinatura.If either the procedure or the delegate is generic, then pass it a type argument that causes its signature to match the other signature.

Consulte tambémSee also