[Degate].DynamicInvoke和[Degate].Method.Invoke之间有什么区别



我已经编写了一个方法来同时在各种控件中执行操作,这是VBNET:中的Invoke部分

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

但我真的不知道是使用DynamicInvoke还是Method.Invoke有什么区别。

也许DynamicInvoke是异步执行的。。。还是怎样

我已经阅读了这两种方法的描述,但我仍然很困惑,对我来说也不清楚,我不知道什么是"后期绑定",对我(和GoogleTranslator)来说是一个完全陌生的词,我的英语不好。

动态调用(后期绑定)当前代理

我需要一个友好的解释这一切。

此外,我将非常感谢C#VBNET中的代码示例来演示这些差异。

DynamicInvoke不是异步执行的,它是动态的,因为您在运行时将其传递给函数检查(和取消装箱)的参数。Invoke需要确切类型的参数,但DynamicInvoke需要包含参数的对象数组。所以,当您不知道参数的确切类型时,可以使用DynamicInvoke。

以下是关于它的完整(更好的:)解释:Invoke和DynamicInvoke 之间的区别

最新更新