invoke - p/invoke

lit*_*tuk 1 .net pinvoke invoke

BeginInvoke/EndInvoke和P/invoke有什么区别?

Han*_*ant 5

它们只有动词"调用"的共同点.通常,调用==调用.pinvoke中的p表示"平台",pinvoke marshaller是CLR内部的一大块代码,它知道如何正确调用本机(特定于平台的)代码.

BeginInvoke是一个重载的方法名称,它启动异步方法调用.编译器会自动为每个委托类型生成一个.与Invoke和EndInvoke一起使用.它们是自动生成的,因此它们的参数与委托声明匹配.Winforms和WPF也使用BeginInvoke方法,分别是Control和Dispatcher类.与委托的BeginInvoke()方法完全不同的动物,虽然它确实以异步方式启动.