No accessible '<procedurename>' is most specific: <signaturelist>

An assignment statement assigns the address of an overloaded procedure to a delegate variable, but the compiler cannot resolve among the overloaded versions.

When code uses the address of a procedure that is defined in several overloaded versions, the compiler must decide which of the overloads to use. It tries to find a single version with a parameter list that matches the delegate parameter list. For more information, see Overload Resolution.

If the compiler finds more than one version of the procedure with a matching signature, it generates this error. This can happen, for example, if one of the overloads is generic and a type argument is passed to it that gives it a signature identical to that of another overload.

Error ID: BC30794

To correct this error

  • If the conflict is caused by a generic overload having the same signature as another overload, change the type argument passed to that generic overload.

See Also

Concepts

Delegates and the AddressOf Operator

Overload Resolution

Generic Types in Visual Basic

Reference

AddressOf Operator

Delegate Statement