如您所知,我們在vb.net中有一個新語法,可以創建內聯任務,以便我們可以異步運行它。vb.net - 如何將新任務聲明爲SUB,帶參數
這是正確的代碼:
Dim testDeclaring As New Task(Sub()
End Sub)
testDeclaring.Start()
,但現在我需要通過在子程序的參數,我無法找到該正確的語法。 有沒有可能?
如您所知,我們在vb.net中有一個新語法,可以創建內聯任務,以便我們可以異步運行它。vb.net - 如何將新任務聲明爲SUB,帶參數
這是正確的代碼:
Dim testDeclaring As New Task(Sub()
End Sub)
testDeclaring.Start()
,但現在我需要通過在子程序的參數,我無法找到該正確的語法。 有沒有可能?
這是不可能的。但是,你可以只使用參數從目前的範圍:
Public Function SomeFunction()
Dim somevariable as Integer = 5
Dim testDeclaring As New Task(Sub()
Dim sum as integer = somevariable + 1 ' No problems here, sum will be 6
End Sub)
testDeclaring.Start()
End Function
如果你想傳遞一個參數,你可以做到這一點
Dim someAction As Action(Of Object) = Sub(s As Object)
Debug.WriteLine(DirectCast(s, String))
End Sub
Dim testDeclaring As New Task(someAction, "tryme")
testDeclaring.Start()
如果有多個參數呢?有一個正確的方法,而不是傳遞一個ArrayList的參數? – Sdlion 2016-11-30 20:20:13
謝謝!這正是我所期待的。 順便說一句,它在我的上下文中引起一些奇怪的行爲,但我想這是另一個話題的問題。 – newbeee 2013-04-20 11:58:41