没有任何可访问的方法“<procedurename>”具有与委托“<delegatename>”:<suberrorlist>”兼容的签名

更新:2007 年 11 月

赋值语句将过程的地址赋给了委托变量,但编译器找不到具有匹配签名的过程版本。

当代码使用过程的地址时,编译器将尝试查找参数列表与委托的参数列表相匹配的该过程的版本。如果过程是在多个重载的版本中定义的,编译器将尝试查找具有匹配签名的单一版本。有关更多信息,请参见 重载决策

如果编译器找不到任何具有匹配签名的过程版本,它将产生此错误。举例来说,如果过程或委托是泛型的,并且将某个类型变量传递给了该过程或委托(该类型变量为其指定与其他签名不匹配的签名),则可能出现这种情况。

**错误 ID:**BC30950

更正此错误

  1. 重新定义过程或委托,以使它们具有匹配的参数列表。

    - 或 -

    定义参数列表与过程参数列表相匹配的新委托,或定义参数列表与委托参数列表相匹配的新过程。

  2. 如果过程或委托是泛型的,则为其传递一个可使其签名与其他签名相匹配的类型变量。

请参见

概念

委托和 AddressOf 运算符

重载决策

Visual Basic 中的泛型类型

参考

AddressOf 运算符

Delegate 语句