0

错误是:

方法“Private Sub ProcessToolWork()”没有与委托“Delegate Sub WaitCallback(state As Object)”兼容的签名。

这是怎么回事?我从未经历过以这种方式产生线程的错误。

这是我的常规定义:

Public Sub ProcessWork()
      ThreadPool.QueueUserWorkItem(AddressOf ProcessToolWork)
End Sub

Private Sub ProcessToolWork()

End Sub

看出什么不对了吗?

我也尝试过为这个项目制作一个新的 WaitCallback ,如下所示:

ThreadPool.QueueUserWorkItem(New WaitCallback(AddressOf ProcessToolWork))
4

2 回答 2

3

WaitCallback接受一个state参数(类型为Object)。即使你忽略它,你也必须把它放在你的方法签名中:

Private Sub ProcessToolWork(ByVal ignored As Object)

End Sub
于 2009-05-05T15:04:32.730 回答
0

我自己也遇到过同样的事情。就在进行“最终”编译之前,我将 Option Strict 设置为“on”,然后出现了这个错误。

注意:这是 Option Strict,而不是 Option Explicit。

因此,如果您尝试使用 Option Strict 进行编译,则只需要提供“Byval ignored As Object”参数。

于 2010-11-02T02:11:00.620 回答