VB9 Новый поток с несколькими параметрами - PullRequest
1 голос
/ 19 мая 2009

Я пытаюсь создать новый поток и отправить несколько параметров, а также делегата для отчета.

В VB8 я всегда ненавижу делать это, потому что это требует либо введения нового класса / структуры, либо делегата.

Есть ли лучший способ сделать это в VB9?

Я ищу решение, похожее на это:

   Dim Th As New Thread(AddressOf DoStuff)
   Th.Start(param1, param2, AddressOf ReportStatus)

Я не очень разбираюсь в LINQ и Lambda, так что я надеюсь, что кто-нибудь покажет мне какой-нибудь крутой трюк для этого.

Ответы [ 3 ]

2 голосов
/ 19 мая 2009

Вы можете передать анонимную функцию в конструктор потока.

Dim Th = New Thread(Sub() DoStuff(param1, param2, AddressOf ReportStatus))

но, к сожалению, в VB9 нет анонимных подпрограмм (они будут в VB10 - в C # это уже должно работать).

1 голос
/ 19 мая 2009

Неа. Ничего нового в VB9.

0 голосов
/ 19 мая 2009

Возможно, вы уже знакомы с этим, но в зависимости от вашего приложения использование ThreadPool может быть полезным и простым. Я не знаю много об отправке параметров с ThreadPool.QueueUserWorkItem, но эта страница, кажется, дает хорошее руководство, включающее лямбда-выражения и анонимные типы. Это в C #, но я уверен, что это будет переводить на VB.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...