[英]Is it possible to get the arguments from a sub or function in vb2005 as an array?
是否可以從vb2005中的子或函數獲取參數作為數組?
你解決了嗎? 我不太清楚您的意思,但是從您對OP的評論來看,您是否希望同步線程以進行線程安全的調用?
Private WithEvents theThread As New threadedClass
Private Delegate Sub threaded_method_delegate(ByVal sender As Object, ByVal var1 As Integer, ByVal var2 As String)
Sub threaded_method(ByVal sender As Object, ByVal var1 As Integer, ByVal var2 As String) Handles theThread.threaded_method
If Me.InvokeRequired Then
' invoke this method on the same thread as 'Me'
Dim d As New threaded_method_delegate(AddressOf threaded_method)
d.Invoke(sender, var1, var2)
Else
' this method is now running on the same thread
' do stuff here
End If
End Sub
您可以在VS 2010中進行此操作,但不能在2005中進行。這是通過DLR或動態語言運行時添加的功能。
使用反射:
Dim params() As System.Reflection.ParameterInfo = myObject.GetType().GetMethod("myObjectMethodName").GetParameters()
如果您可以控制成員簽名,則可以將所有參數封裝到一個類中,就像在常規.NET方式中在事件處理程序之間傳遞EventArgs
對象(或其子類)一樣。
然后,只需將引用傳遞給封裝類本身即可傳遞所有值。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.