引用非共享成员线程

时间:2018-07-23 10:00:29

标签: vb.net multithreading visual-studio addressof

我在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子项是公开的,但未共享,但它从来没有出现过,并且可以正常运行。

谢谢。

1 个答案:

答案 0 :(得分:0)

似乎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属性之前的类型。