Nessun metodo accessibile '<nomeroutine>' ha una firma compatibile con il delegato '<nomedelegato>':<elencoerrori>

Aggiornamento: novembre 2007

No accessible method '<procedurename>' matches the signature of delegate '<delegatename>':<suberrorlist>

Un'istruzione di assegnazione assegna l'indirizzo di una procedura a una variabile del delegato, ma il compilatore non è in grado di trovare una versione della procedura con una firma corrispondente.

Quando il codice utilizza l'indirizzo di una procedura, il compilatore cerca di trovare una versione di quella procedura con un elenco di parametri che corrisponde a quello del delegato. Se la procedura è definita in diverse versioni in overload, il compilatore cerca di trovare una versione singola con una firma corrispondente. Per ulteriori informazioni, vedere Risoluzione dell'overload.

Se il compilatore non è in grado di trovare alcuna versione della procedura con una firma corrispondente, verrà generato questo errore. Questa situazione può verificarsi ad esempio se la procedura o il delegato sono generici e se un argomento di tipo viene passato e assegna una firma che non corrisponde all'altra firma.

ID errore: BC30950

Per correggere l'errore

  1. Ridefinire la procedura o il delegato in modo che abbiano elenchi di parametri corrispondenti.

    -oppure-

    Definire un nuovo delegato con un elenco di parametri che corrisponde a quello della procedura o definire una nuova procedura con un elenco di parametri che corrisponde a quello del delegato.

  2. Se la procedura o il delegato sono generici, passare un argomento di tipo che provochi la corrispondenza della sua firma con l'altra.

Vedere anche

Concetti

Delegati e operatore AddressOf

Risoluzione dell'overload

Tipi generici in Visual Basic

Riferimenti

Operatore AddressOf

Istruzione Delegate