【发布时间】:2017-02-15 17:44:22
【问题描述】:
我有一个带参数的子方法:
Public Sub mysub(ByVal x As Object)
[...]
End Sub
要将其作为线程启动,我只需:
Dim x1 as String = "hello"
mythread = New Thread(AddressOf mysub)
mythread.Start(x1)
我会将mysub 转换为async 函数。在线教程(例如this one)仅适用于不带参数的方法。
我试过了:
Dim mytask As Task
Dim x1 as String = "hello"
mytask = New Task(Me.mysub, x1)
mytast.Start()
但我得到了错误:
错误 BC30455 未为“Public Sub”的参数“x”指定参数 mysub(x 作为对象)'
【问题讨论】:
-
如果您使用 .NET 4.0 或更高版本,您可以使用 lambda:
New Task(Sub() Me.mysub(x1)) -
就是这样!非常感谢。
标签: vb.net async-await