引用非共享成员线程

Reference to a non-shared member threading

我在VS2017中打开了一个用VS2010构建的项目

代码没有改变,2010 版本构建完美,但在使用 2017 构建时,我收到以下代码的 'Reference to a non-shared member requires an object reference' 错误。

Dim doCheck As New System.Threading.Thread(AddressOf Check_Form.checkList)
doCheck.SetApartmentState(ApartmentState.STA)
doCheck.Start(thisname & "~" & thisnum)

'AddressOf' 部分抛出错误。

VS2017 有什么变化还是我忘了修改什么?我已经有一段时间没看过这个了,但我有一个新的签名证书,并且 System.Threading 一如既往地导入。

Check_Form.checkList 子 public 但未共享,但它过去从未共享过,而且总是 运行 没问题。

谢谢。

Check_Form 似乎是该所有者表单的类型。因此 My.Forms.Check_Form.checkListCheck_Form.checkList

的隐式调用一起使用

我不确定 2017 版在参考优先级方面是否有一些变化,但请尝试将您的代码更改为

Dim doCheck As New System.Threading.Thread(AddressOf My.Forms.Check_Form.checkList)

获取相同代码的显式版本。当前版本可能更喜欢 My.Forms 属性.

之前的类型