【发布时间】:2025-12-16 10:15:01
【问题描述】:
代码段在第 7 行有错误“对非共享成员的引用需要对象引用”。我正在使用 MS 示例来解决这个问题,所以它应该可以工作。谢谢!
Sub main()
Dim TokenSource As New CancellationTokenSource()
Dim token As CancellationToken = TokenSource.Token
Dim TaskX As Task
Dim tasks As New ConcurrentBag(Of Task)()
MessageBox.Show("In Module taskStore running Main subroutine")
TaskX = TaskFactory.StartNew(Sub() DoSomeWork(1, token), token)
tasks.Add(t)
End Sub
Sub DoSomeWork(ByVal taskNum As Integer, ByVal ct As CancellationToken)
If ct.IsCancellationRequested = True Then
MessageBox.Show("TaskX cancelled before it got started")
ct.ThrowIfCancellationRequested()
End If
Dim maxIterations As Integer = 100
End Sub
【问题讨论】:
-
Dim factory As New TaskFactory / factory.StartNew(...)
-
你能链接到这个“MS示例”吗?
-
知道了!谢谢你,汉斯!
-
该示例使用 C#,而不是 VB.NET。与其尝试将每个示例和 Github 项目都转换为 VB.NET,不如改用 C#。尽管微软做出了努力,开发人员还是放弃了 VB.NET,因此最终甚至微软也停止发布两种语言的示例。这就是为什么您在 VB.NET 中找不到文档或示例的原因。不是因为 MS 放弃了它(所有文档都使用这两种语言将近 20 年),而是因为 developers 已经在 2012 年放弃了它。此外,您需要了解 C# 才能将代码转换为 VB.NET
标签: vb.net visual-studio-2017 task-parallel-library taskfactory