我已经编写了一个方法来同时在各种控件中执行操作,这是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 之间的区别