Ningún método accesible '<procedurename>' tiene una signatura compatible con el delegado '<delegatename>':<suberrorlist>

Una instrucción de asignación asigna la dirección de un procedimiento a una variable de delegado, pero el compilador no encuentra una versión del procedimiento con una signatura coincidente.

Cuando el código usa la dirección de un procedimiento, el compilador intenta encontrar una versión del procedimiento con una lista de parámetros que coincida con la del delegado. Si el procedimiento está definido en varias versiones sobrecargadas, el compilador intenta encontrar una versión única con una signatura coincidente. Para obtener más información, consulta Overload Resolution.

Si el compilador no encuentra ninguna versión del procedimiento con una signatura coincidente, genera este error. Esto puede ocurrir, por ejemplo, si el procedimiento o el delegado son genéricos y se pasa un argumento de tipo que proporcione una signatura que no coincida con la otra.

Identificador de error: BC30950

Para corregir este error

  1. Vuelva a definir el procedimiento o el delegado para que tengan listas de parámetros correspondientes.

    O bien

    Defina un nuevo delegado con una lista de parámetros que coincida con la del procedimiento, o bien defina un nuevo procedimiento con una lista de parámetros que coincida con la del delegado.

  2. Si el procedimiento o el delegado son genéricos, páseles un argumento de tipo que haga que su signatura coincida con la otra.

Consulte también