2013-12-12 79 views
1

我已經寫一個方法來一次執行各種控制的操作,這是VBNET的調用部分:[Delegate] .DynamicInvoke和[Delegate] .Method.Invoke之間有什麼區別?

If [Control].InvokeRequired Then 
    [Control].Invoke(ControlAction, [Control]) 
Else 
    ' ControlAction.DynamicInvoke([Control]) 
    ControlAction.Method.Invoke(ControlAction, {[Control]}) 
End If 

不過說真的,我不知道有哪些區別是否如果我使用DynamicInvokeMethod.Invoke

也許DynamicInvoke是asynchronouslly執行...或者是什麼?

我readed這兩種方法的描述,但我還是一頭霧水,但目前還不清楚對我來說,我不知道是什麼意思「後期綁定」,是一個完全陌生的詞我(和GoogleTranslator),我的英文不好。

動態調用(後期綁定)的當前 委託

我需要這一切友好的解釋表示法。

另外我想在C#VBNET展示出差異欣賞更多的代碼示例。

+2

這裏是完整的解釋,檢查馬克的回答是:http://stackoverflow.com/questions/12858340/difference-between-invoke-and-dynamicinvoke –

+0

@ Selman22謝謝你,如果你想寫點什麼,我會標記你的答案被接受。 – ElektroStudios

+0

我寫的東西,但我的英語不太好喜歡你:) –

回答

1

DynamicInvoke不是異步執行的,它是動態的,因爲您將參數傳遞給runtime.Invoke中的函數檢查(並取消裝箱)需要參數的確切類型,但DynamicInvoke需要包含參數的對象數組。所以當你不知道參數的類型時,你可以使用DynamicInvoke。

這裏充滿(更好:)它解釋:Difference Between Invoke and DynamicInvoke

相關問題