簡體   English   中英

是否可以從vb2005中的子或函數獲取參數作為數組?

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM