0

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

代码没有改变,并且 2010 版本构建完美,但是使用 2017 构建时,我收到“对非共享成员的引用需要对象引用”错误,并带有以下代码。

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 子是公共的,但不共享,但过去从未如此,并且始终运行良好。

谢谢。

4

1 回答 1

0

似乎 Check_Form 是该所有者表单的类型。因此My.Forms.Check_Form.checkList与隐式调用一起使用Check_Form.checkList

我不确定 2017 版是否对参考优先级进行了一些更改,但请尝试将您的代码更改为

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

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

于 2018-07-23T11:30:29.960 回答