Ссылка на неразделяемый поток элементов

Я открыл проект, созданный с помощью VS2010 в VS2017.

Код не изменился, и версия 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 является общедоступной, но не используется совместно, но в прошлом ее никогда не было, и она всегда работала нормально.

Спасибо.


person RobertyBob    schedule 23.07.2018    source источник
comment
Является ли Check_Form переменной/свойством или типом? Вы пытаетесь сослаться на метод экземпляра по умолчанию?   -  person jmcilhinney    schedule 23.07.2018
comment
sry - не был в сети несколько дней. Check_Form — еще одна форма Windows   -  person RobertyBob    schedule 28.07.2018


Ответы (1)


Кажется, что 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.

person PavlinII    schedule 23.07.2018