使用并行扩展和 VB.net 传递值
我正在寻找一个示例,说明如何使用并行扩展在 VB.net 中执行以下操作。
Dim T As Thread = New Thread(AddressOf functiontodowork)
T1.Start(InputValueforWork)
我遇到的问题是如何将我的参数 InputValueforWork
Dim T As Tasks.Task = Tasks.Task.Create(AddressOf functiontodowork)
Any 建议传递到任务中,并且可能会欢迎一个编码示例。
安德鲁
I am looking for an example of how to do the following in VB.net with Parallel Extensions.
Dim T As Thread = New Thread(AddressOf functiontodowork)
T1.Start(InputValueforWork)
Where I'm getting stuck is on how to pass into the task my parameter InputValueforWork
Dim T As Tasks.Task = Tasks.Task.Create(AddressOf functiontodowork)
Any suggests and possibly a coding example would be welcome.
Andrew
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(3)
我解决了我自己的问题。 您必须传入一个包含值的数组。
I solved my own question. you have to pass in an array with the values.
不一定是我所知道的最有帮助的答案,但在 C# 中,你可以通过闭包来做到这一点:
Not necessarily the most helpful answer I know, but in C# you could do this with a closure:
这里真正的问题是 VB 9 不支持
Action;
,仅 Funcs您可以通过在 C# 中使用助手来解决此限制,如下所示:
然后您可以像这样从 VB 使用它:
The real problem here is that VB 9 doesn't support
Action<T>
, only FuncsYou can work around this limitation by having a helper in C#, like this:
Then you use it from VB like this: